On balancing the load in a clustered web farm

In this article we propose a novel, yet practical, scheme which attempts to optimally balance the load on the servers of a clustered Web farm. The goal in solving this performance problem is to achieve minimal average response time for customer requests, and thus ultimately achieve maximal customer throughput. The article decouples the overall problem into two related but distinct mathematical subproblems, one static and one dynamic. We believe this natural decoupling is one of the major contributions of our article. The static component algorithm determines good assignments of sites to potentially overlapping servers. These cluster assignments, which, due to overhead, cannot be changed too frequently, have a major effect on achievable response time. Additionally, these assignments must be palatable to the sites themselves. The dynamic component algorithm is designed to handle real-time load balancing by routing customer requests from the network dispatcher to the servers. This algorithm must react to fluctuating customer request load while respecting the assignments of sites to servers determined by the static component. The static and dynamic components both employ in various contexts the same so-called goal setting algorithm. This algorithm determines the theoretically optimal load on each server, given hypothetical cluster assignments and site activity. We demonstrate the effectiveness of the overall load-balancing scheme via a number of simulation experiments.

[1]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[2]  G. Nemhauser,et al.  Integer Programming , 2020 .

[3]  Toshihide Ibaraki,et al.  Resource allocation problems - algorithmic approaches , 1988, MIT Press series in the foundations of computing.

[4]  Bennett Fox,et al.  Discrete Optimization Via Marginal Analysis , 1966 .

[5]  Dorit S. Hochba,et al.  Approximation Algorithms for NP-Hard Problems , 1997, SIGA.

[6]  John Turek,et al.  Optimal Partitioning of Cache Memory , 1992, IEEE Trans. Computers.

[7]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[8]  Donald B. Johnson,et al.  The Complexity of Selection and Ranking in X+Y and Matrices with Sorted Columns , 1982, J. Comput. Syst. Sci..

[9]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[10]  Philip S. Yu,et al.  Dynamic Load Balancing on Web-Server Systems , 1999, IEEE Internet Comput..

[11]  Joel L. Wolf,et al.  The placement optimization program: a practical solution to the disk file assignment problem , 1989, SIGMETRICS '89.

[12]  Awi Federgruen,et al.  The Greedy Procedure for Resource Allocation Problems: Necessary and Sufficient Conditions for Optimality , 1986, Oper. Res..

[13]  Stephen S. Lavenberg,et al.  Computer Performance Modeling Handbook , 1983, Int. CMG Conference.

[14]  Terry Williams,et al.  Probability and Statistics with Reliability, Queueing and Computer Science Applications , 1983 .

[15]  Asser N. Tantawi,et al.  Optimal allocation of multiple class resources in computer systems , 1988, SIGMETRICS 1988.

[16]  Asser N. Tantawi,et al.  Optimal Allocation of Multiple Class Resources in Computer Systems , 1988, SIGMETRICS.

[17]  George Kingsley Zipf,et al.  Human behavior and the principle of least effort , 1949 .

[18]  Emile H. L. Aarts,et al.  Simulated Annealing: Theory and Applications , 1987, Mathematics and Its Applications.

[19]  Dorit S. Hochbaum,et al.  Approximation Algorithms for NP-Hard Problems , 1996 .

[20]  Philip S. Yu,et al.  Disk load balancing for video-on-demand systems , 1997, Multimedia Systems.

[21]  Zvi Galil,et al.  A Fast Selection Algorithm and the Problem of Optimum Distribution of Effort , 1979, JACM.

[22]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[23]  Derek L. Eager,et al.  Throughput Concavity and Response Time Convexity , 1984, Inf. Process. Lett..