Microsoft remains a peon in Linux-dominated supercomputing, but the software giant has tried to gain ground with a more reliable, scalable and interoperable HPC operating system. The question is: will Linux users give it a chance?
Since the release of its first HPC operating system in 2006, Microsoft has worked to make Windows a respectable player in high-performance computing (HPC). But Microsoft's market share hasn't increased much. Only 5% to 6% of the HPC market use Windows, while about 75% of HPC systems run on Linux, followed by Unix, according to IDC data.
And in the latest Top500.Org list of supercomputing sites, more than 78% of systems listed ran Linux (391 in all), while only 1% (five systems) use Windows HPC Server 2008.
"Windows has been not strong in this space. Most HPC users are loyal Linux users because it is reliable and their legacy apps are designed for it," said Jie Wu, IDC's research director for technical computing. "Microsoft also has a large perception issue to overcome."
Microsoft: A leg up in HPC market?
Linux has a long history of reliability, solid performance, and most applications are designed to work with it. Plus, Linux can be cheap. Windows, on the other hand, has none of these advantages in the HPC space, which makes many administrators unwilling to try it.
An IT operations manager at a Seattle-based data center, for example, said he won't give Microsoft a shot on his HPC systems because "Windows always seems to require way more hardware resources than the Unix alternatives do to perform the same task."
Sam Fulcomer, the associate director at Brown University's Center for Computation and Visual Computing, said that, historically, the availability of computational software for Windows lags Linux and the older mainstream Unix variants. Plus, Windows has had an issue with native client support for high-performance parallel file systems.
Fulcomer runs a CentOS Linux build on an IBM supercomputer that Brown University deployed late last year. At the time, he did not consider Windows a viable candidate at the time and said it would take a strong incentive to use such an "unusual" OS.
But Fulcomer admits that Windows can offer advantages, such as allowing user code to directly manipulate hardware (in the case of user space drivers), as opposed to the traditional kernel driver interface, which offers a limited set of proxy operations. Windows can also provide greater opportunity for application code to affect system stability than can a Linux OS. An incorrect memory reference in a supercomputing application, for example, can write over any portion of the user space driver code. In Linux systems, this overwriting problem creates significant system instability, Fulcomer said.
One administrator who runs a server cluster for a university in the U.K. has Windows HPC Server in-house in case he needs it but runs it only in a sandbox environment. It isn't in production because most software users served by the HPC system "want and need to run Linux."
Microsoft's HPC strategy
That sort of Linux loyalty is not lost on Microsoft, and the company has taken an If-you-can't-beat-'em-join-'em attitude with Windows HPC Server 2008 R2, which became available in Beta 2 this month. The final release is scheduled for later this year.
Microsoft added a "hybrid" option in the R2 version so Linux users can run Windows without disposing of their tried-and-true OS. Users can run Windows and Linux on a cluster at the same time or switch back and forth between Linux and Windows nodes.
"There are certainly cases where even the most devoted Linux user will want to run a Windows app, and now they can do that without ripping and replacing their existing Linux," said Ryan Waite, head of Microsoft's Windows HPC Server engineering team.
By tapping into its massive installed x86 and desktop customer base, Microsoft will also gain customers. Existing Windows shops may be more willing to give their familiar OS a try -- especially if these shops run Windows 7 on desktops.
Jie WuResearch director for technical computing, IDC
In Windows HPC Server 2008 R2, Microsoft added the ability to repurpose Windows 7 workstations as compute nodes so that idle PCs can be designated to HPC clusters to perform computational workloads.
The ability to remotely run jobs has been around forever but Windows HPC Server 2008 R2 takes things a step further by integrating that capability into its cluster management software, said Microsoft.
The next HPC OS will also support Visual Studio 2010 for parallel development of HPC applications, and it integrates with a new HPC version of Excel 2010 that runs in parallel and drastically cuts down the time it takes to run data, Waite said.
Though still in beta, Windows HPC Server 2008 R2 appears to be much more stable and scalable, which has caught the attention of more original equipment manufacturers and independent software vendors that have developed Windows-friendly apps and products for it, IDC's Wu said.
"Microsoft is very serious about the HPC space because it is growing faster than the x86 space," Wu said. "They are doing things to make Windows a real option."