Microsoft is showing some early signs of success with a version of Windows geared for a technical computing market that Linux dominates today.
Windows Compute Cluster Server (CCS) runs on a group of interconnected computers that collectively tackle calculation chores. These high-performance computing clusters have swept the list of the top 500 supercomputers — but typically they run Linux, not Windows.
When Microsoft released Windows CCS less than a year ago, the company tried to find a new niche in the market rather than go up against Linux directly. The software giant is trying to win over customers with small clusters, often integrated with the work customers are doing on their Windows PCs.
"We think that's fertile ground that nobody else has hoed yet," said Gartner analyst John Enck. "We were pretty sceptical when they came to market with this, but they're doing much better than we anticipated."
Microsoft has had some successes moving from a market in which it's strong into an adjacent market where it's not. For example, Microsoft moved from operating system software to desktop software, and from Windows on PCs to Windows on servers.
Lateral move
That's exactly what happened in the case of the South Florida Water Management District, which is using Windows CCS to power a modest-size five-server cluster that computes water flow to as part of a multibillion-dollar habitat restoration project in the Everglades National Park.
The group also has a much larger Linux cluster, but the group also had Windows-based modelling tools that they moved easily to the cluster, said Akin Owosina, programme manager for the district's Interagency Modeling Center.
Another customer is the Virginia Polytechnic Institute, which is running Windows CCS on a 16-server cluster for research in transportation and in cancer-related molecular modelling.
Microsoft gives itself high marks for its results so far. "We acknowledge we have more work to do here, but we've made good progress in the first year," said Shawn Hansen, Microsoft's director of HPC (high-performance computing) marketing. "We've been very pleased with the results and the uptake."
But when it comes to the Linux-dominated cluster market, though, familiarity with Microsoft can be a burden as well as an asset. For example, SGI, a high-performance computing (HPC) specialist with ties to Linux, got a frosty reception on a compute cluster mailing list when it announced support for Windows CCS earlier this year.
Your view
What do you think of RHEL 5?
Have you put Red Hat's virtualisation-primed Linux through its paces? Or are you holding off — and if so, why? Tell us what you think.
When it comes to HPC, Windows is not the incumbent. "The HPC community has been Unix- and Linux-based for decades," said Gartner analyst Carl Claunch. "The university environments in which most have trained are heavily Linux-centric. The domination of Linux in HPC and in clusters is quite strong."
Among technical advantages of Linux clusters is better maturity, better software choices, broader abilities and a proven ability to run at large scale, Claunch said.
New features
Windows CCS isn't Microsoft's last crack at the market, though. It just released Service Pack 1, which is based on Windows Server 2003 Service Pack 2. That new version makes it possible to bring up a cluster in one fell swoop rather than installing software on each machine individually.
More significant changes will come with CCS version 2, Hansen said, which will be based on the "Longhorn Server" successor to Windows Server 2003. Longhorn Server is due to ship this year, but Hansen declined to say when the CCS revamp will emerge.
Version 2 will feature "simplified development, deployment, operation and integration", Hansen said. Specific improvements will help networking — in particular TCP/IP (transmission control protocol/internet protocol) software and support for larger networks, he said.
For development, Microsoft touts its Visual Studio programming tools. Version 2 will feature better support for software that executes in parallel on a number of machines, he said. Building that parallelism into software is a decades-old challenge in the computer industry.
Microsoft also has struck partnerships with IBM, Dell, HP and SGI to make it easier for customers to purchase clusters with software already set up. SGI likes having Windows CCS as an option for customers working on animation, for example.







Talkback
I am not surprised you could not find any examples of larger HPC installations for Windows. The closed source nature of the OS makes supporting it in a HPC environment an expensive headache. All the best of breed tools that have been developed over the years are useless, and there is no way to examine the OS for bottlenecks the way you can with Linux. Second, our tests have found that the multi-threading performance of the Windows kernel to be approximately 30% worse than the performance of the Linux kernel, and as a bonus the scheduling algorithms can be easily and quickly tweaked without impacting the cluster uptime. With the advent of heavily multi-cored nodes, the threading issue is a major one for us because it has a direct impact on the cost per MIPS. If you are an all-Windows shop and you don't mind paying more and getting less, then you might consider a Windows based cluster, but for those shops that are more concerned about performance and supportability over politics, Linux is the way to go right now.
I can't talk about the relative performance or the manageability - except that yes, these are issues and no, Microsoft is unlikely to change much about its core code to make things better for its HPC group.
However, that's rather missing the point. Where MS HPC makes sense is where for whatever reasons Linux is too expensive in time or people. If you're a small company with no Linux expertise, lots of Windows smarts and a particular HPC requirement, then you don't mind the inefficiencies or lack of tweakiness if it's good enough; likewise, if you're running some fat financial model in Excel and it's taking two days to recalc, then doing it in seconds via MS HPC is going to be what you want - even if the Linux code can do it in seconds/2.
Linux-based HPC can of course get these markets too - *if* it has the tools to be friendly towards people who are Windows-rich and time poor. If you're a traditional HPC user who's managing some big scientific or engineering task with a lifetime of months or years, then it's absolutely better to have code you can tweak - and you'll find that this isn't where Windows HPC is making a mark. It's perhaps where HPC hasn't been that big that things are happening...
Rupert