Before we talk about cluster computing, we need to define our terms. For the purposes of this book, a cluster is a parallel computer that is constructed of commodity components and runs (as its system software) commodity software. A cluster is made up of nodes, each containing one or more processors, memory that is shared by all of the processors in (and only in) the node, and additional peripheral devices (such as disks), connected by a network that allows data to move between the nodes.
Nodes come in many flavors but are usually built from processors designed for the PC or desktop market. Chapter 2 describes processor choices in detail. If a node contains more than one processor, it is called an SMP (symmetric multiprocessor) node.
Networks also come in many flavors. These range from very simple (and relatively low-performance) networks based on Ethernet to high-performance networks designed for clusters. Chapter 4 describes network choices in detail.
Clusters can also be divided into two types: do-it-yourself and prepackaged. A do-it-yourself cluster is assembled by the user out of commodity parts that are purchased separately. A prepackaged cluster (sometimes called a turnkey system) is assembled by a cluster vendor, either before or after shipping it to the customer's location. Which you choose depends on your budget, need for outside help, and facility with computer hardware.