Introduction to Cluster, Grid, and Cloud Computing
Cluster computing is a type of computing where a group of computers or nodes are interconnected through Local Area Network (LAN) so that they may function as one unit. A computer cluster is more efficient in solving complex problems because it has better data integrity and processing speed than a single computer. Cluster computing is only used for applications that are mission-critical. Some critical cluster computing applications include Earthquake Simulation, Petroleum Reservoir Simulation, Weather Forecasting, and Google Search Engine. Clustering techniques are challenging to establish and maintain and are generally more expensive than those of a single computer. Clustering techniques include Hierarchical Clustering, Density-based clustering, Partitioning, Fuzzy Clustering, and Model-based clustering.
Classification of Clusters
Clusters can be grouped according to three different categories, namely, High-Availability Clusters (HA), High-Performance-Computing Clusters (HPC), and Load-Balancing Clusters.
High-Availability Cluster is a configuration where several computers work hand in hand so that if one machine fails, the computer’s requests are redirected to other computers in the network. This function results in zero downtime, and it is for this reason that High-Availability clusters are known as Failover Clusters.
High-Performance-Computing Clusters (HPC) are synergetic computers that work hand in hand to offer higher processing power, storage, higher speeds, and more massive datasets. One of the most popular techniques of transferring data between the computers in a cluster is the MPI (Message-Passing Interface). An MPI can is like a library with a group of functions that facilitate the interchange of data between different processors. MPI, high-speed interconnects, and dedicated hardware give clusters the ability to function efficiently on fine-grained parallel problems, as well as issues involving short tasks that depend on the outcome of previous jobs.