Clustering - A technology to solve common computational problems

December 24, 2005
The first time I heard of a cluster was in my schooling days when my science teacher talked about Star clusters to denote a group of stars. Clustering is the process of organising objects into groups whose members are similar in some way.

In the computer world, when people talk about clustering, they are refering to technologies that allow multiple computers to work together to solve common computing problems.

A famous example of clustering technology being used in Linux would be the Beowulf Cluster. The Beowulf cluster consists of multiple Linux machines connected to one another on a high speed LAN. The down side of a Beowulf cluster is that it require specially designed software using specialised libraries in order to take advantage of cluster resources.

Clusters are also used in normal computing areas in Linux where a degree of redundancy is required. For example, if you are running a database server, then you can make it fail safe by using a database cluster. That is the same database running spread over multiple machines such that even if one machine hosting the database goes down, it does not affect the process accessing the database. Alex Davies has written an excellent article on setting up a mysql cluster. He takes the users through the process of setting up a mysql server on two machines (you need atleast 3 servers for failsafe redundancy), to converting them to a cluster.

On a different note, I also came across this informative article written by W.G Krebs who gives a good review of using GNUQueue software for setting up a Linux cluster the easy way.