Microsoft has offered a server edition of Windows for quite some time, though recently they have been pushing pretty hard in this space. They currently offer a beta version of an add-on package known as Compute Cluster Server (CCS) that is aimed at the technical market. Microsoft’s own programming tools will work in this space, and MS even offers an implementation of MPI.
So does entering the technical computing market represent a departure for Microsoft? At its core, MS is a maker of programming tools. Indeed, this was how they got their start, building implementations of BASIC. The suite of programming tools is one of the major contributions of Microsoft’s success; ridiculously easy-to-use development tools that work (almost) exclusively on the MS platform.
Visual Basic and Excel are the killer apps for their suites, Visual Studio and Office respectively. The DirectX API is very popular for multimedia programming, particularly in the gaming industry. And the XMLHttpRequest object, originally an ActiveX control, lead to the AJAX revolution in web page development.
Adding to the “ridiculously easy-to-use” facet, developers need not worry about which distribution or processor the end user will have, unlike in the Linux and RISC spaces. Developers write once, and the code will work on servers, desktops and plamtops, a major goal of Java no less. And to top it all off, the notes for MS development tools are among the best in software documentation, period.
Furthermore, Microsoft’s own Research lab has made a tremendous push into developing new programming constructs and tools, employing no less than Tony Hoare and Leslie Lamport.
So it should be pretty obvious that MS is essentially a programming tools company. Microsoft produces “ridiculously easy-to-use” tools (some of which are now free under the Express banner) and then makes its money by producing practically the only environment that can run software written with these tools. That indeed has been the controversial part of Microsoft’s corporate strategy. (The Wine project is an open source attempt at replicating the Windows API, so that existing Windows software can run unmodified without Windows.)
Given that Microsoft is ultimately a programming tools company, the recent foray into HPC does make sense, at least a lot more sense than MSN or Xbox. The only question then is whether Windows will meet the performance demands of the same customers who have refused to use Java for parallel computing. Current market adoption rates have been pretty low. True, CCS is in beta right now, but many technical computing customers typically use home-brew quality software anyway, so the product status tag may in fact pose little to no barrier. As with everything else in this industry, only time will tell.