Cluster computing is the technique of linking two or more computers into a network (usually through a local area network) in order to take advantage of the parallel processing power of those computers. Clusters are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.
There are some general characteristics that most will agree upon.
- Consists of many of the same or similar type of machines
(Heterogenous clusters are a subtype, still mostly experimental)
- Tightly-coupled using dedicated network connections
- All machines share resources such as a common home directory
(NFS can be a problem in very large clusters, so binaries and data must be pushed to scratch on each node.)
- They must trust each other so that rsh or ssh does not require a password,
otherwise you would need to do a manual start on each machine.
- Must have software such as an MPI implementation installed to allow programs to be run across all nodes
High-availability clusters (also known as Failover Clusters) are implemented primarily for the purpose of improving the availability of services that the cluster provides. They operate by having redundant nodes, which are then used to provide service when system components fail.There are commercial implementations of High-Availability clusters for many operating systems.
Load-balancing is when multiple computers are linked together to share computational workload or function as a single virtual computer. Logically, from the user side, they are multiple machines, but function as a single virtual machine. Requests initiated from the user are managed by, and distributed among, all the standalone computers to form a cluster. This results in balanced computational work among different machines, improving the performance of the cluster systems.
Often clusters are used primarily for computational purposes, rather than handling IO-oriented operations such as web service or databases. For instance, a cluster might support computational simulations of weather or vehicle crashes. The primary distinction within computer clusters is how tightly-coupled the individual nodes are.
The TOP500 organization’s semiannual list of the 500 fastest computers usually includes many clusters. As of January 2011 the top supercomputer is the Tianhe-1A in Tianjin, China, with performance of 2566 TFlops measured with the High-Performance LINPACK benchmark. The total cost of the previous Power Mac system was $5.2 million, a tenth of the cost of slower mainframe computer supercomputers.
Created by Armandas Rokas