Linux Clustering

Windows Clustering


Cluster Monkey, a magazine about clustering:
Cluster Magazine


Clustering providers:


Open VMS


Taskforce: IEEE


Beowulf Clusters are scalable performance clusters based on commodity hardware, on a private system network, with open source software (Linux) infrastructure. The designer can improve performance proportionally with added machines. The commodity hardware can be any of a number of mass-market, stand-alone compute nodes as simple as two networked computers each running Linux and sharing a file system or as complex as 1024 nodes with a high-speed, low-latency network. More


The exact definition of a cluster computer will depend a little on who you ask. However, there are some general characteristics that most will agree upon.
Consists of many of the same machines:
All machines share resources
(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
Must have software such as an MPI implementation More

Cluster Computing / Computer Clusters

Definition: 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.

An eternal struggle in any IT department is in finding a method to squeeze the maximum processing power out of a limited budget. Today more than ever, enterprises require enormous processing power in order to manage their desktop applications, databases and knowledge management (case study: Rolls Royce - pdf). Many business processes are extremely heavy users of IT resources, and yet IT budgets struggle to keep pace with the ever growing demand for yet more power.

IT Limitations

Cluster computingUnfortunately, though some of the largest enterprises require the processing power of a supercomputer, few enterprises can rustle up supercomputer-sized IT budgets. While there have been significant advances in mainframe computing in recent years, investment in a single large source of processing power may be the most cost-effective or flexible solution.

Instead, many enterprises are now choosing to invest their IT budgets in computer clusters – networks of high-powered, low-cost desktop computers – that provide an attractive alternative to mainframe computers.

Types of Computer Clusters

There are several different varieties of computer clusters, each offering different advantages to the user. These varieties are:

* High Availability Clusters

HA Clusters are designed to ensure constant access to service applications. The clusters are designed to maintain redundant nodes that can act as backup systems in the event of failure. The minimum number of nodes in a HA cluster is two – one active and one redundant – though most HA clusters will use considerably more nodes.

Computer clustersHA clusters aim to solve the problems that arise from mainframe failure in an enterprise. Rather than lose all access to IT systems, HA clusters ensure 24/7 access to computational power. This feature is especially important in business, where data processing is usually time-sensitive.

* Load-balancing Clusters

Load-balancing clusters operate by routing all work through one or more load-balancing front-end nodes, which then distribute the workload efficiently between the remaining active nodes. Load-balancing clusters are extremely useful for those working with limited IT budgets. Devoting a few nodes to managing the workflow of a cluster ensures that limited processing power can be optimised.

* High-performance Clusters

HPC clusters are designed to exploit the parallel processing power of multiple nodes. They are most commonly used to perform functions that require nodes to communicate as they perform their tasks – for instance, when calculation results from one node will affect future results from another.

The best known HPC cluster is Berkeley’s Seti@Home Project, an HPC cluster consisting of over 5 million volunteer home computers devoting processing power to the analysis of data from the Arecibo Observatory radio telescope.

Benefits of Computer Clusters

Computer clusters offer a number of benefits over mainframe computers, including:

Reduced Cost:  The price of off-the-shelf consumer desktops has plummeted in recent years, and this drop in price has corresponded with a vast increase in their processing power and performance. The average desktop PC today is many times more powerful than the first mainframe computers.

Processing Power :  The parallel processing power of a high-performance cluster can, in many cases, prove more cost effective than a mainframe with similar power. This reduced price per unit of power enables enterprises to get a greater ROI from their IT budget.

Improved Network Technology: Driving the development of computer clusters has been a vast improvement in the technology related to networking, along with a reduction in the price of such technology.

Computer clusters are typically connected via a single virtual local area network (VLAN), and the network treats each computer as a separate node. Information can be passed throughout these networks with very little lag, ensuring that data doesn’t bottleneck between nodes.

Scalability: Perhaps the greatest advantage of computer clusters is the scalability they offer. While mainframe computers have a fixed processing capacity, computer clusters can be easily expanded as requirements change by adding additional nodes to the network.

Availability: When a mainframe computer fails, the entire system fails. However, if a node in a computer cluster fails, its operations can be simply transferred to another node within the cluster, ensuring that there is no interruption in service.

A discussion on the future of the field can be found at Cornell University (pdf).