Jump to content

Computer cluster

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Dhuss (talk | contribs) at 17:35, 8 September 2004 (re-worded so Beowulf doesn't sound like software.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


File:PurdueLinuxComputerCluster.jpg
Linux Cluster at Purdue University

A computer cluster is a group of connected computers that work together as a unit. One of the more popular implementations is a cluster with nodes running Linux as the OS and free software to implement the parallelism. This configuration is often reffered to as a Beowulf cluster. Sun Microsystems has also released a clustering product called Grid engine. OpenSSI is another clustering project that provides single-system image capabilities. It leverages HP's NonStop Clusters for Unixware technology and other open source technology to provide a full, highly reliabble SSI environment for Linux.

There are fundamentally four types of clusters:

  • Director-based clusters
  • Two-node clusters
  • Multi-node clusters
  • Massively parallel clusters

All mature (or highly available) cluster implementations attempt to eliminate single points of failure. Director-based clusters and Beowulf clusters are typically implemented for performance reasons, while two-node clusters are typically implemented for fault-tolerance.

An organization publishes the 500 fastest clusters twice a year. Top 500 is a collaboration between the University of Mannheim, the University of Tennessee, and the National Energy Research Scientific Computing Center at Lawrence Berkeley National Laboratory. The current longstanding top supercomputer is the Earth Simulator with a performance of 35.86 TFlops beating out number 2 by over 15 TFlops.

Clustering can provide significant performance benefits versus price. The System X supercomputer at Virginia Tech, the third most powerful supercomputer on Earth as of November 2003, is a computer cluster of 1100 Apple Power Macintosh G5s running Mac OS X. The total cost of the system is $5.2 million, a tenth of the cost of slower mainframe supercomputers.

Clusters were originally developed by DEC in the 1980s for the VAX/VMS operating system. They not only support parallel computing, but also shared file systems and peripheral devices. They are supposed to give you the advantage of parallel processing while maintaining data reliability and uniqueness.

A cluster of computers is referred to as a server farm when the computers are used to mimic the operations of a single server machine.

In the GNU/Linux world, there is also cluster software, such as the Linux Virtual Server, distcc, Kerrighed, Mosix and its free counterpart openMosix. LVS clusters are a form of director-based clusters that allow incoming requests for services to be distributed across multiple cluster nodes. Mosix and openMosix provide automatic process migration in a homogeneous cluster of GNU/Linux machines, while distcc provides parallel compilation when using GCC. Kerrighed is a GNU/Linux based operating system providing an SMP machine on top of a cluster of PCs.

DragonFly BSD, a recent fork of FreeBSD 4.8 is being redesigned at its core to enable native clustering capabilities.

References

  • Greg Pfister: In Search of Clusters, Prentice Hall, ISBN 0138997098