The main inhibitor for Windows NT as an operating system for clusters is its cost. You pay to Microsoft a license of about 200 euro per node: this can add up to a considerable amount if your cluster gets large. In comparison, Linux is free. There are nice packages from for instance SuSe and RedHat. A large community of Beowulf developers, working on Linux clusters, is always on-line and willing to help fixing problems in Linux. Hence, turn-around time for problems is very low. NT on the other hand, you only can get from Microsoft. There is no source code available so the only people who can fix problems are the engineers at Microsoft. It can take a while before an NT problem is solved.
When you build a cluster, the choice of hardware is not much different for the two operating systems. Linux has support for Alpha, NT has not. SCI is not supported on NT and GigaNet (VIA) not on Linux.
Installing Linux is easier than installing NT, when you need to do it on for instance hundred computers in a cluster. You can use server images, the tar and copy commands, the sed configuration file or make use of convenient tools for installing systems from a vendor like SuSe that has its SALT system. On NT it is more difficult. You have tools like HD cloning, server images and merge facilities. But be aware, wrong use of for instance WIN32 SID's can completely screw up your systems.
There are, however, also technical reasons to use NT, said Fisher. First it has a good support for SMP systems. Second the system is threaded through all levels. User scheduled ultra-light weight threads, so-called NT-fibers, are very powerful. Also NT has well-supported device drivers.
A myth that exists about NT is that it has no support for remote access, said Fisher. Fact is there is a lot you can do, although there is no unified abstraction like remote shell. But you can for instance do remote administration. In Windows 2000 there is an improved NT Terminal Server, but it is far from the sophistication of X-Windows.
There are several good compilers available on Linux. On the other hand NT suffers from incompatible compilers, which even makes it difficult to exchange source code.
In Linux there is a clear separation between the kernel and the other stuff. In NT it is mixed, and especially DDL's are a real nightmare. Installing a new application often also has the effect of replacement of one or more DDL's, which can result in other applications not running properly anymore.
So if there is no specific reason like SMP support to choose for NT, it looks like Linux is still the best choice for running a cluster. Of course, you can also install products like Cygnus that bring Linux look and feel to NT.