During the past decade, many different computer systems supporting high-performance computing have emerged. Cluster computing is a form of computing in which a group of computers is linked together so that they can act like a single entity. 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.One common reason to use cluster computing is a desire to create redundancy in a computer network to ensure that it will always be available and that it will not fail.
Also Read: Thin Client Computing
However, there are lots of definition available for cluster computing and varies from where you ask. But some common facts you have to keep in mind about cluster computing is that:
- Consists of many of the same or similar type of machines
- Tightly-coupled using dedicated network connections
- All machines share resources such as a common home directory.
The hardware configuration of clusters varies substantially depending on the networking technologies we chose and the purpose of the system. Clustering hardware comes in three forms: shared disk, mirrored disk, shared nothing pattern.
Also Read: Tele-immersion
Shared Disk Clusters
This approach utilizes central I/O devices accessible to all computers called nodes within the cluster. It is so called because the I/O involved is typically disk storage for normal files and/or databases. They rely on a common I/O bus for disk access but do not require shared memory. Because all nodes may concurrently write to or cache data from the central disks, a synchronization mechanism must be used to preserve the coherence of the system. An independent piece of cluster software called the “distributed lock manager” assumes this role. Shared-disk clusters support higher levels of system availability: if one node fails, other nodes need not be affected. Shared-disk cluster technologies include Oracle Parallel Server (OPS)and IBM’s HACMP.
Shared Nothing Clusters
The other way of clustering is dubbed shared-nothing because it does not involve concurrent disk accesses from multiple nodes. or we can say that clusters do not require a distributed lock manager. Shared-nothing cluster solutions include Microsoft Cluster Server (MSCS).
It uses a shared SCSI connection between the nodes, that naturally leads some people to believe this is a shared-disk solution. But only one server needs the disks at any given time, so no concurrent data access occurs. MSCS clusters also typically include only two nodes, whereas shared nothing clusters, in general, can scale to hundreds of nodes.
Also Read: Cloud Computing
Mirrored Disk Clusters
Mirroring involves replicating all application data from primary storage to a secondary backup for availability purposes. Replication occurs while the primary system is active, although the mirrored backup system typically does not perform any work outside of its role as a passive standby. If a failure occurs in the primary system, a failover process transfers control to the secondary system. Failover can take some time, and applications can lose state information when they are reset, but mirroring enables a fairly fast recovery scheme requiring little operator intervention. Mirrored-disk clusters typically include just two nodes.
Cluster Computing Applications
There are a large number of applications provided by cluster computing.Some of them are:
- Clusters can be used in weather modeling.
- Helps in automobile crash simulations and nuclear simulations.
- Supportive in image processing and electromagnetics.
- Ideal in data mining, aerodynamics, and astrophysics.
- Used in predicting life-threatening situations such as earthquakes or hurricanes. In the past, these applications would be run on vector or parallel supercomputers costing millions of dollars in order to calculate predictions.
- Cluster-based systems can be used to execute many Internet applications: Web servers, Search engines, Email, Security, Proxy and Database servers.
- Helpful in big computing projects having extremely complex computations.
- Can also be used to distribute a work load in the form of many small chunks of data, a technique known as grid computing. In this case, a single computer couldn’t handle all the work, but many small computers can.
Cloud computing v/s Cluster computing
The cloud has become the modern computing cluster. Clustering is the ability to have two or more computers operate in lockstep for highly available systems. It has been around since the earliest mainframe days. But a new disciplined approach has overcome the old tradition as virtualization tools is becoming more appealing, particularly as enterprise IT shops gain more experience using virtual servers and as cloud computing vendors add more high-availability features to their products.
On the other hand, clustering used to be a very specialized discipline. For this, we have to set up nearly identical computers and run special operating system versions to keep them synchronized. Special networking adapters were also required to move data between two PCs at very high speeds.
So cloud and its manageable application delivery grows more popular. Hence, the cloud computing has got an edge over the cluster computing.