Computer cluster

The components of a cluster are usually connected to each other through fast local area networks, with each node (computer used as a server) running its own instance of an operating system.

[6] The activities of the computing nodes are orchestrated by "clustering middleware", a software layer that sits atop the nodes and allows the users to treat the cluster as by and large one cohesive computing unit, e.g. via a single system image concept.

[6] Computer clustering relies on a centralized management approach which makes the nodes available as orchestrated shared servers.

[7] The developers used Linux, the Parallel Virtual Machine toolkit and the Message Passing Interface library to achieve high performance at a relatively low cost.

[9] Greg Pfister has stated that clusters were not invented by any specific vendor but by customers who could not fit all their work on one computer, or needed a backup.

This allowed up to four computers, each with either one or two processors, to be tightly coupled to a common disk storage subsystem in order to distribute the workload.

Clustering per se did not really take off until Digital Equipment Corporation released their VAXcluster product in 1984 for the VMS operating system.

The ARC and VAXcluster products not only supported parallel computing, but also shared file systems and peripheral devices.

Following the success of the CDC 6600 in 1964, the Cray 1 was delivered in 1976, and introduced internal parallelism via vector processing.

[14] Computer clusters are used for computation-intensive purposes, rather than handling IO-oriented operations such as web service or databases.

The Linux-HA project is one commonly used free software HA package for the Linux operating system.

Fault tolerance (the ability of a system to continue operating despite a malfunctioning node) enables scalability, and in high-performance situations, allows for a low frequency of maintenance routines, resource consolidation (e.g., RAID), and centralized management.

[15] The slave computers typically have their own version of the same operating system, and local memory and disk space.

Another example of consumer game product is the Nvidia Tesla Personal Supercomputer workstation, which uses multiple graphics accelerator processor chips.

The use of graphics cards (or rather their GPU's) to do calculations for grid computing is vastly more economical than using CPU's, despite being less precise.

Two widely used approaches for communication between cluster nodes are MPI (Message Passing Interface) and PVM (Parallel Virtual Machine).

PVM provides a run-time environment for message-passing, task and resource management, and fault notification.

Rather than starting anew, the design of MPI drew on various features available in commercial systems of the time.

[20] MPI is now a widely available communications model that enables parallel programs to be written in languages such as C, Fortran, Python, etc.

[24] This is an area of ongoing research; algorithms that combine and extend MapReduce and Hadoop have been proposed and studied.

There are two classes of fencing methods; one disables a node itself, and the other disallows access to resources such as shared disks.

[21] Application checkpointing can be used to restore a given state of the system when a node fails during a long multi-node computation.

Checkpointing can restore the system to a stable state so that processing can resume without needing to recompute results.

MOSIX, LinuxPMI, Kerrighed, OpenSSI are full-blown clusters integrated into the kernel that provide for automatic process migration among homogeneous nodes.

gLite is a set of middleware technologies created by the Enabling Grids for E-sciencE (EGEE) project.

Technicians working on a large Linux cluster at the Chemnitz University of Technology , Germany
Sun Microsystems Solaris Cluster , with In-Row cooling
Taiwania series uses cluster architecture.
A simple, home-built Beowulf cluster
A VAX 11/780, c. 1977, as used in early VAXcluster development
Tandem NonStop II circa 1980
A load balancing cluster with two servers and N user stations
A typical Beowulf configuration
Low-cost and low energy tiny-cluster of Cubieboards , using Apache Hadoop on Lubuntu
A pre-release sample of the Ground Electronics/AB Open Circumference C25 cluster computer system, fitted with 8x Raspberry Pi 3 Model B+ and 1x UDOO x86 boards