Microsoft is releasing the second beta version of its latest HPC server platform — Windows HPC Server 2008 R2. The first beta was released at SC’09 last November and in the interim the company has been collecting customer feedback. All of this is expected to culminate in a formal release later this year.
Microsoft, of course, is attempting to establish a foothold in the wonderful world of high performance computing — a tough undertaking in this Linux-dominated and open-source-loving IT segment. That said, the additions to this latest beta version of the Microsoft’s HPC platform include some compelling features that make the most of the company’s vast Windows ecosystem and market reach.
Before I talk about the new features, it’s worth noting that Microsoft believes it has reached parity with Linux from the performance standpoint. Vince Mendillo, senior director of Microsoft’s High Performance Computing Group, told me they’re continuing to tune the software stack as each beta rolls out, and they’re now at the point where they feel performance is a non-issue. According to him, using Linpack or even real-world benchmarks like ANSYS Fluent 12.0, Windows HPC is now as fast or faster than a Linux implementation. But Microsoft’s real strengths are the Windows development tools and its ecosystem dominance, and it is here that the company has focused its efforts.
For example, Microsoft has added the ability to aggregate Windows 7 workstations into an HPC cluster. Essentially, each workstation is monitored and managed as an ad-hoc compute node within a traditional cluster. Capabilities like time-of-day scheduling and shutting down of preemptive jobs are included so that the machine can be made available to a real live person when required. The common scenario is one where an organization has a small cluster made up of say dozens of servers, along with perhaps hundreds of Windows 7 PCs sitting idle at night.
Since these workstations are likely to be hooked up to the LAN via a high-latency Ethernet connection, the type of HPC workloads that can be run on them is somewhat more limited than that of a typical InfiniBand-connected cluster. In theory, any highly parallel but loosely coupled application would be suitable. If you have such a setup, you can essentially add a night-time cluster for free (well, at least for the cost of the power to run it).
The next big enhancement is the integration with Visual Studio 2010, which is due to be launched next week. This new version of Visual Studio contains lots of support for creating, testing and deploying parallel apps. It includes the hooks for Microsoft’s MPI, SOA-type execution, and new services for Excel 2010. Mendillo characterized the integration between Visual Studio and Windows HPC Server as a “big breakthrough moment.” He may be right. Visual Studio has over 7.5 million users today, which is the largest user base for any software development suite. Given that, the ability to program from the client across the cluster is a big deal.
The Excel tool has received special attention since it has become a fairly widespread tool for HPC-types — scientists, engineers, financial quants, and the like. Basically, Microsoft has layered HPC services on top of vanilla Excel so that users can distribute computations across a cluster. Mendillo says there are a lot of Excel applications that are suited to this type of parallelization. One example is a life insurance actuarial calculation. On a workstation, a typical such calculation could take 14 hours. Mendillo claims distributing that work across a small cluster — say 16 to 32-nodes — cuts that time down to two and a half minutes. Microsoft is partnering with integrators Wipro, Infusion and Grid Dynamics to help customers migrate their Excel workbooks and develop new parallelized apps.
Along these same lines comes Parallel Nsight, NVIDIA’s software development toolset for GPU computing that is offered as a Visual Studio plugin. Microsoft has been working with NVIDIA on this for a while, but the software maker’s big contribution is low-level GPU support on the server side so that everything works seamlessly end-to-end. The whole package allows programmers to develop, test, and run GPU-accelerated applications, all with the Windows universe. This has the makings of a nice synergy for both vendors as it allows NVIDIA to piggy-back on the ubiquity of Visual Studio and gives Microsoft a GPU development capability alongside its CPU toolset.
The last piece of the puzzle for Windows in HPC is Linux interoperability. Although some dual-boot operating system capability has been there in the past, the beta release adds compatibility with mixed-OS cluster management platforms from Adaptive Computing, Clustercorp and Platform Computing. This allows the system admin to statically boot specific nodes with Linux or Windows. In the case of Platform Computing, dynamic OS provisioning can be supported via the company’s ISF Adaptive Cluster platform. The whole idea here is to be able to serve Windows and Linux HPC apps on the same hardware, and to do so as transparently as possible. This is a must-have feature for Microsoft, inasmuch as HPC customers have come to expect Linux as the default OS.
If any of this arouses your interest, Microsoft is making the beta available for downloading on its Windows HPC Server trial site. There could be another beta round says Mendillo, or they may go straight to the final release. In either case, he expects the Windows HPC Server 2008 R2 product to be shipping later in the fall.