So Microsoft is getting into high-performance computing (HPC), with the release of Windows Compute Cluster Server (CCS) 2003. The targets are the obvious ones - all those organisations running highly parallel tasks such as simulation, finite element analysis, and so on, and the aim is clearly to prevent existing Windows fans from defecting to Linux.
That's because high-performance computing (HPC) is nothing new - clusters on Linux have been around for ages, and have the advantage of being rather more frugal with processor power. That means they can make older hardware productive again if you can't afford the latest blade boxes - I even know someone who has a cluster of a dozen or so old PCs happily running as a Beowulf cluster in his bedroom, for example.
Microsoft's idea of what constitutes an "inexpensive machine" is a little different from my friend's. It also needs a client access licence (CAL) to access the cluster, and a head-node to manage it, although that head-node can also be a compute node if there's not too much management to do.
Still, if you already know Windows but find Linux a mystery, CCS could be for you. It's reasonably friendly, for a start - the Windows interface means there's no need to telnet hither and thither to load a job and then print the results. And in the future, Microsoft apps such as Excel v12 will be able to run as CCS services on the network, accessible from a PC. That's pretty cool.
However, for anyone who's been watching the hardware business for more than a few years, it's surprising how few advances have been made. For instance, it is now 22 years since Digital Equipment introduced the closely-coupled VAXcluster, and even Microsoft's CCS evangelists acknowledge that they haven't yet caught up with the VAXcluster in some areas - such as having a true single system image - although they contend that neither has Linux.
The real difference today is in the applications, with scale-out software that can make use of multiple processors in parallel. Software developers are finding out that they simply have to go this route because processor speeds are not increasing like they used to.
The problem is that CCS as it stands is very much a version 1 product - and as we all know, it usually takes Microsoft at least three goes to get something right.
So I'm not convinced that CCS is ready for wider use yet. For a start, there's no pre-emptive multi-tasking, and there's no fail-over for the head node, making it a single point of failure. It also needs administration, to keep track of the job pool for example, and writing parallel programs is a very special skill that's not yet widely taught or understood.
Still, with compact two and four-processor PCs becoming available, CCS looks like a good way to get some extra power under an engineer's or scientist's desk - your own personal supercomputer, if you like. The promised support for business apps should make it relatively simple to integrate an HPC cluster into business operations, too. You probably want to wait for CCS version 3, though.