Workload Balancing for Highly Available Services: The Case of the N+M Redundancy Model

In today's information based world the demand on highly available services is ever increasing. Fault tolerant systems are capable of providing the expected services even in the presence of a failure. This is achieved through the redundancy of the service providers, where service assignments i.e. workloads are shifted to redundant healthy service providers when a failure occurs. The assignment and the shift are performed according to a redundancy model. A well-known redundancy model is the N+M where we have N active service providers and M standbys. In case of a failure of an active provider, the services are reassigned to its standbys. Maintaining a balanced workload before and after a failure in the N+M redundancy is a challenging task. Especially when the solution is decided at configuration time, and no runtime information is available. This is exactly the issue we tackle in this paper. We present three different approaches aiming at solving this problem with different priorities of the relevant constraints. Our solutions do not require any runtime information and can maintain a balanced workload even after a failure by anticipating the workload redistribution.

[1]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[2]  Sagar Dhakal,et al.  Load balancing in the presence of random node failure and recovery , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[3]  Hisao Kameda,et al.  An algorithm for optimal static load balancing in distributed computer systems , 1992 .

[4]  Chandra Kopparapu,et al.  Load Balancing Servers, Firewalls, and Caches , 2002 .

[5]  Yongbing Zhang,et al.  Comparison of dynamic and static load-balancing strategies in heterogeneous distributed systems , 1997 .

[6]  Daniel P. Siewiorek,et al.  High-availability computer systems , 1991, Computer.

[7]  Asser N. Tantawi,et al.  A General Model for Optimal Static Load Balancing in Star Network Configurations , 1984, Performance.

[8]  Tao Xie,et al.  A static data placement strategy towards perfect load-balancing for distributed storage clusters , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[9]  Xiongfeng Zhu,et al.  A Load Balancing Strategy Based on the Combination of Static and Dynamic , 2010, 2010 2nd International Workshop on Database Technology and Applications.

[10]  Flaviu Cristian,et al.  Understanding fault-tolerant distributed systems , 1991, CACM.

[11]  Jacob A. Abraham,et al.  Load Balancing in Distributed Systems , 1982, IEEE Transactions on Software Engineering.

[12]  Wei Zhang,et al.  A Load-Balancing Dynamic Scheduling Algorithm under Machine Failure Conditions , 2010, 2010 International Conference on Intelligent Computation Technology and Automation.

[13]  George Cybenko,et al.  Dynamic Load Balancing for Distributed Memory Multiprocessors , 1989, J. Parallel Distributed Comput..

[14]  Salil S. Kanhere,et al.  Fair and Efficient Packet Scheduling Using Elastic Round Robin , 2002, IEEE Trans. Parallel Distributed Syst..

[15]  Abdelwahab Hamou-Lhadj,et al.  Ranking service units for providing and protecting highly available services with load balancing , 2010, 2010 10th Annual International Conference on New Technologies of Distributed Systems (NOTERE).

[16]  Asser N. Tantawi,et al.  Optimal static load balancing in distributed computer systems , 1985, JACM.