Just got my keynote photo from Michael Ang (our PR guy). Made me think that I should include some information about this amazing "Windows Supercomputer" Demo. Firstly, credit to Cornell-Waterloo Solution Labs, who built the Excel portion of this demo, and that's the amazing part; we're accessing a Windows Supercomputer running on Compute Cluster Server 2003, by using only Excel 2007! Damn cool! Anyway, before I get WAY too excited, here's the background to the demo:-

"Bond Portfolio managers and other investors are faced with challenges when they consider pricing and purchasing structured bonds – for example, the future cash flows generated by the structured bonds can be pegged to unknown future interest rates. Here’s another challenge: structured bonds may include embedded option that allow the issues to call them in before maturity.

What is the fair price for a structured bond? How can the risks of a portfolio of structured bonds be managed? The answer is to use Least squares Monte Carlo simulation because the unknown future interest rate paths is straightforward using LSM, embedded options can be modeled as a function of future interest rate, and the same solution framework can be maintained for additional risk factors, should their addition be required by the client."

So what does our Excel Spreadsheet do?

• Each of the bonds in this application are callable, fixed coupon bonds
• The bonds are priced using “Least Squares Monte Carlo” (LSM)
• The amount of time it takes to price a bond depends primarily on the number of simulations (interest rate paths) and the bond’s maturity
• With 10,000 paths, the pricing for each bond takes around 1 – 5 seconds or so on a 2.1GHz box. A portfolio of several hundreds bonds will take several minutes to price. Clients waiting on the phone will consider this a very slow response. The goal is to get down the processing time down to around 20 seconds

And therein lies the problem. So there are actually two versions of this spreadsheet; one that performs these calculations as normal on the workstation itself (and takes FOREVER!) and the second spreadsheet farms the individual bonds calculations seamlessly out to compute nodes in a HPC cluster (my "Windows Supercomputer" as I call it). Here's how the demo looks when it's running both spreadsheets side-by-side. Notice one is running on a single node (the local workstation) and the other one, the bottom one is running on three compute nodes of the super computer.

I really enjoyed building this and demo'ing it for the delegates at this year's TechEd, and I hope that it opens everyone's minds as to the possible real-world solutions that Windows Compute Cluster Server 2003 is capable of providing.

[Update: For those of you looking for more real-world information on Microsoft and HPC applications, I was just contacted by Ken Farmer who runs the excellent community web site http://www.winhpc.org. This site is a great resource on the current state of Windows Supercomputing and its application in various industries. If you are looking for more industry information, go check it out. Thanks for getting in touch, Ken.]