A Beowulf cluster is a class of supercomputer, specifically one that utilizes "Commercial Off the Shelf" (COTS) hardware such as personal computers and Ethernet switches to link the machines together so that they act as one, and the Beowulf library of software which is used to help implement a distributed application.
The concept of clustering machines together in this way is known as distributed computing.
The Beowulf libraries provide facilities for using a global process id (among the machines in the Beowulf), methods of remote execution of processes to run across the cluster, and more. The downside of the use of this library is that programs have to be specifically written to be run in a Beowulf, and have to be compiled with said libraries included. Newer clustering technology such as Mosix clusters address this limitation. [1]
In early 1993, NASA scientists Donald Becker and Thomas Sterling began sketching out the details of what would become a revolutionary way to build a cheap supercomputer: link low-cost desktops together with commodity, off the shelf (COTS) hardware and combine their performance.[2]
By 1994, under the sponsorship of the "High Performance Computing & Communications for Earth & Space Sciences" (HPCC/ESS)[3] project, the Beowulf Parallel Workstation project at NASA's Goddard Space Flight Center had begun.[4] [5]
This type of cluster is composed of a 'master' (which coordinates the processing power of the cluster) and usually many 'nodes' (computers that actually perform the calculations). The 'master' typically is server-class, and has more horsepower (i.e. Memory and CPU power) than the individual nodes. The nodes in the cluster don't have to be identical, although to simplify deployment this is usually the case.
Usually the Beowulf 'nodes' are running Linux,[6] however this is not required, as both Mac OS X and FreeBSD clusters have been created.[7][8]
Today Beowulf systems are deployed worldwide as both as "cheap supercomputers" and as more traditional high-performance projects, chiefly in support of number crunching and scientific computing.
It should be noted that more than 50 percent of the machines on the Top 500 List of supercomputers [9] are clusters of this sort.[2]
The Linux Beowulf HOWTO, from the Linux documentation project