In the most general terms, a cluster is any ensemble of independently operational elements integrated by some medium for coordinated and cooperative behavior. Consistent with this broad interpretation, computer clusters are ensembles of independently operational computers integrated by means of
Commodity clusters are local ensembles of computing nodes that are commercially available systems employed for mainstream data-processing markets. The interconnection network used to integrate the compute nodes of a commodity cluster is dedicated to the cluster system and is also commercially available from its manufacturer. The network is dedicated in the sense that it is used internally within the cluster supporting only those communications required between the compute nodes making up the cluster, its host or master nodes, which are themselves "worldly," and possibly the satellite nodes responsible for managing mass storage resources that are part of the cluster.
Beowulf-class systems are commodity clusters that exploit the attributes derived from mass-market manufacturing and distribution of consumer-grade digital electronic components. Beowulfs are made of PCs, sometimes lots of them; cheap EIDE (enchanced integrated drive electronics) (usually) hard disks; and low -cost DIMMs (dual inline memory modules) for main memory. A number of different microprocessor families have been used successfully in Beowulfs, including the long-lasting Intel X86 family (80386 and above), their AMD binary compatible counterparts, the Compaq Alpha 64-bit architecture, and the IBM PowerPC series. Beowulf systems deliver exceptional price/performance for many applications. They use low cost/no cost software to manage the individual nodes and the ensemble as a whole. A large part of the scientific and technical community using Beowulf has employed the Linux open source operating system, while many of the business and commercial users of Beowulf support the widely distributed commercial Microsoft Windows operating system.
Both types of Beowulf system use middleware that is a combination of
Performance of a cluster for many applications is derived through program and system parallelism. For most commodity clusters and Beowulf systems, the primary parallelism exploited is the internode parallelism. But for clusters, the primary parallelism is intranode, meaning most of the parallelism used is within the node. Generally, processors within an SMP node are more tightly coupled through shared memory and can exploit finer-grained parallelism than can Beowulf clusters.
But shared-memory systems require the use of a different programming model from that of distributed-memory systems, and therefore programming constellations may prove rather different from programming Beowulf clusters for optimal performance. Constellations are usually restricted to the largest systems.