Clusters In Computer Organisation
A cluster is a set of loosely or tightly connected computers working together as a unified computing resource that can create the illusion of being one machine. Computer clusters have each node set to perform the same task, controlled and produced by the software.
Clustered Operating Systems work similarly to Parallel Operating Systems as they have many CPUs. Cluster systems are created when two or more computer systems are merged. Basically, they have an independent computer but have common storage and the systems work together.
The components of clusters are usually connected using fast area networks, with each node running its own instance of an operating system. In most circumstances, all the nodes use the same hardware and the same operating system, although in some setups different hardware or different operating systems can be used in some setups.
For making cluster more efficient there exist two clusters:
- Hardware Cluster
- Software Cluster
Hardware Cluster helps in enable high-performance disk sharing between systems, while the Software Cluster allows all systems to work together.
Types of Cluster Systems:
Primarily, there are two types of Cluster Systems:
- Asymmetric Cluster: In this type of clustering, all the nodes run the required applications, and one node is in hot standby mode. The Hot standby node is used for monitoring the server till it fails, when it fails then it takes its place.
- Symmetric Cluster: In this type of clustering, all the nodes run applications and monitor other nodes at the same time. This clustering is more efficient than Asymmetric clustering as it doesn’t have any hot standby key.
Classification of Clusters:
Computer Clusters are arranged together in such a way to support different purposes from general-purpose business needs such as web-service support to computation-intensive scientific calculation. Basically, there are three types of Clusters, they are:
- Load-Balancing Cluster – A cluster requires an effective capability for balancing the load among available computers. In this, cluster nodes share a computational workload to enhance the overall performance. For example- a high-performance cluster used for scientific calculation would balance the load from different algorithms from the web-server cluster, which may just use a round-robin method by assigning each new request to a different node. This type of cluster is used on farms of Web servers (web farm).
- Fail-Over Clusters – The function of switching applications and data resources over from a failed system to an alternative system in the cluster is referred to as fail-over. These types are used to cluster database of critical mission, mail, file, and application servers
- High-Availability Clusters – These are also known as “HA clusters”. They offer a high probability that all the resources will be in service. If a failure does occur, such as a system goes down or a disk volume is lost, then the queries in progress are lost. Any lost query, if retried, will be serviced by a different computer in the cluster. This type of cluster is widely used in web, email, news, or FTP servers.
- Absolute scalability – It is possible to create large clusters that beats the power of even the largest standalone machines. A cluster can have dozens of multiprocessor machines.
- Additional scalability – A cluster is configured in such a way that it is possible to add new systems to the cluster in small increments. Clusters have the ability to add systems horizontally. This means that more computers may be added to the clusters to improve their performance, redundancy, and fault tolerance(the ability for a system to continue working with malfunctioning of the node).
- High availability – As we know that each node in a cluster is a standalone computer, the failure of one node does not mean loss of service. A single node can be taken down for maintenance, while the rest of the clusters takes on a load of that individual node.
- Preferable price/performance – Clusters are usually set up to improve performance and availability over single computers, while typically being much more cost-effective than single computers of comparable speed or availability.