Home »
Computer Architecture
Load Balancing and Its Types
In this article, we are going to discuss what load balancing is, what are the types of load balancing and we will discuss the different algorithms of static load balancing in brief.
Submitted by Uma Dasgupta, on March 08, 2020
Load balancing
Let us first know what load balancing is?
So, Load balancing is a methodology in computer to distribute the workloads among multiple processors, for maintaining high availability, high reliability, high scalability and case of maintenance in resource sharing.
Techniques of load balancing:
- Push Migration:
Overloaded processors in one CPU is pushed to another processor for processing.
- Pull Migration:
The processor which is overloaded is pulled from a processor and it is put under another processor for processing.
Types of Load balancing
Mainly there are two types of load balancing i.e. Static load balancing and Dynamic load balancing.
i) Static load balancing
The static load balancing method is non-primitive one the load is allocated to the node it cannot be transferred to another node under processing.
The main drawback it does not take the current state of the system while making allocation decisions.
There are different algorithms of static load balancing such as:
- Round Robin algorithm
- Central Manager algorithm
- Threshold algorithm
- Randomized algorithm
ii) Dynamic load balancing
In dynamic load balancing the changes on the system's workload are monitored and redistributed accordingly.
There are several algorithms of Dynamic load balancing also, but in this article, we will only discuss the different algorithms of static load balancing.
Round Robin Algorithm
In this algorithm, the load is distributed evenly to all nodes or processors. The workload is distributed in a round-robin order. Where the equal load is assigned to each node in circular order without any priority and will be back to the first node if the last node has been reached.
Advantages and disadvantages:
- Round robin is easy to implement, simple and starvation.
- It does not require inter-process communication and still gives the best performance but it cannot give expected result when the jobs are unequal processing time.
Central Manager Algorithm
In this algorithm, a central node selects the slave node for transferring the load.
Slave node having the least load is selected and assigned the jobs.
Advantages and disadvantages:
- The algorithm needs a high level of interprocess communication which can sometimes lead to the bottleneck state.
- This algorithm performs better than dynamic activities are created by every host.
Threshold Algorithm
According to this, the load is assigned immediately upon the creation of the node. The load is characterized in 3 labels: Under load, medium loaded and overloaded.
Two terms or we can say parameters are used to describe these three levels:
- Underloaded → load < Tunder
- Medium → Tunder <= Load <= Tupper
- Overloaded → Load >Tupper
Advantages and disadvantages:
- This algorithm has low intercrosses communication and reduces the overhead of remote process allocation which leads to improvement in performance.
- The complexity of comparing each node to with some specified threshold is high.
Randomized Algorithm
The load is selected on random selection without having information about the current or previous load on the node.
Advantage and disadvantage:
- Each node maintains its load record. Hence no interprocess communication is required.
Conclusion:
In the above article, we have discussed the different types of load balancing and have also discussed several algorithms of static load balancing. I hope you have understood the article well, for any further queries hit your queries in the comment section.