Why Linux for Clusters?
For me, the simple answer to the question, "Why use Linux for a cluster?" boils down to one word: choice. Another word that comes to mind is flexibility, which holds not just for Linux clusters but for other types of solutions.
Some of the choices available to cluster designers using Linux:
- Commercially available, supported distributions for critical business systems, or free distributions for research or noncritical applications
- Commodity hardware, including desktop and server systems and specialized proprietary hardware
- A wide range of free infrastructure services (DHCP, DNS, and so on) or supported versions of the same services
- A wide range of free management and system deployment tools or commercial tools that interface with existing infrastructure
- Minimal execution environments or full-scale server configurations, depending on the cluster's needs
In addition to the flexibility of implementing your own cluster solution, a number of projects active within the Linux development community hold the promise of simplifying various aspects of cluster installation, infrastructure, and management. For example, OSCAR and Rocks are two cluster toolkits that are available to create the cluster's software infrastructure. OpenMosix creates a cluster environment that simulates a large SMP machine so that applications can run unmodified. The Linux Virtual Server project provides load-balancing and traffic-shaping software to create high-availability clusters using Linux systems. These types of free resources are not readily available anywhere else—at any price.