A Self-Adjusting Size-Based Load Balance Policy for Web Server Cluster
An efficient load balance policy should adjust its parameters as the arrival and service characteristics of the incoming workload change. In this paper, we propose a self-adjusting size-based load balance policy called SASB, and implement a prototype of SASB. In SASB, the dispatcher distributes requests according to the request content size and tries to balance the load, measured in "occupying resource time", among real servers. The dispatcher periodically predicts the statistical characteristics of future workload based on recent workload history, and then adjusts system parameters according to the prediction. By its locality-aware nature, SASB achieves high cache hit ratio in addition to balancing the load. For the sizes of realistic Web documents follow heavy-tailed distribution, distributing "long" and "short" jobs to different real servers helps SASB reduce the average job slowdown. Experiments show that SASB, as compared with some existing classic load balance policies, achieves superior performance