Collision-free and non-overwhelmed-migration load balancing protocol for UNIX client-server based distributed systems
Chonawat Srisa-An · 1996
A load balancing algorithm is an algorithm to avoid the situation in which some of the hosts are congested, while others are unloaded. However, several existing complex algorithms do not reflect much improvement over simple algorithms. The main reason why a complex algorithm fails to achieve improved performance is that even if the least loaded node can be located, there is no guarantee that another heavily-loaded node is not acting on the same information, making the same decision, and sending its jobs to the same least loaded node (assume that there are no collision). The least loaded node may become heavily loaded with newly migrated jobs, and then it has to share load with other nodes again. This event is called overwhelmed-migration. Another problem in CSMA/CD environment is (the situation that more than one node send their workloads at the same time). The goal of this paper is to propose new protocols that not only solve a common idle-while-other-busy problem, but also solve collision and overwhelmed migration problems in a distributed system. The design and implementation of a prototype of load balancer for a distributed system allows the workloads to be evenly redistributed from heavily loaded servers to lightly loaded servers in a collision-free manner with non-overwhelmed migration.