What is Clusters in Operating System?
Clustered systems are similar to parallel systems as they both have multiple CPUs. However a major difference is that clustered systems are created by two or more individual computer systems merged together. Basically, they have independent computer systems with a common storage and the systems work together.
A diagram to better illustrate this is: The clustered systems are a combination of hardware clusters and software clusters. The hardware clusters help in sharing of high performance disks between the systems. The software clusters makes all the systems work together.
Each node in the clustered systems contains the cluster software. This software monitors the cluster system and makes sure it is working as required. If any one of the nodes in the clustered system fail, then the rest of the nodes take control of its storage and resources and try to restart.
Types of Clustered Systems in Operating System
There are primarily two types of clustered systems i.e. asymmetric clustering system and symmetric clustering system. Details about these are given as follows:
1. Asymmetric Clustering System
In this system, one of the nodes in the clustered system is in hot standby mode and all the others run the required applications. The hot standby mode is a failsafe in which a hot standby node is part of the system. The hot standby node continuously monitors the server and if it fails, the hot standby node takes its place.
2. Symmetric Clustering System
In symmetric clustering system two or more nodes all run applications as well as monitor each other. This is more efficient than asymmetric system as it uses all the hardware and doesn't keep a node merely as a hot standby.
Attributes of Clustered Systems
There are many different purposes that a clustered system can be used for. Some of these can be scientific calculations, web support etc. The clustering systems that embody some major attributes are:
- Load Balancing Clusters
In this type of clusters, the nodes in the system share the workload to provide a better performance. For example: A web based cluster may assign different web queries to different nodes so that the system performance is optimized. Some clustered systems use a round robin mechanism to assign requests to different nodes in the system.
- High Availability Clusters
These clusters improve the availability of the clustered system. They have extra nodes which are only used if some of the system components fail. So, high availability clusters remove single points of failure i.e. nodes whose failure leads to the failure of the system. These types of clusters are also known as failover clusters or HA clusters.
Benefits of Clustered Systems in Operating System
The difference benefits of clustered systems are as follows:
Clustered systems result in high performance as they contain two or more individual computer systems merged together. These work as a parallel unit and result in much better performance for the system.
- Fault Tolerance
Clustered systems are quite fault tolerant and the loss of one node does not result in the loss of the system. They may even contain one or more nodes in hot standby mode which allows them to take the place of failed nodes.
Clustered systems are quite scalable as it is easy to add a new node to the system. There is no need to take the entire cluster down to add a new node.
Cluster Configurations in Operating System
- Passive standby
- Active system processes the entire load, the standby takes over in case of failure of primary
- Active sends heartbeat messages to standby to indicate continued operation
- High cost no tasks sharing
- Easy to implement
- Active secondary
- Secondary server is also used for processing tasks
- Reduced cost due to tasks sharing
- Increased complexity
- Separate servers
- Each server has its own disk, no disks shared
- Data copied between servers periodically
- Scheduling assigns client requests to servers to balance the load
- High availability
- High server and network overhead due to data copying
- Shared disks, non-shared volumes (shared nothing)
- Common disks are partitioned into volumes, each volume owned by only one computer
- On computer failure, cluster is reconfigured to assign volumes to remaining computers
- Shared disks, shared volumes
- Each computer has access to all volumes on all disks
- Locking mechanism used to ensure that data is accessed by one computer at a time