The design and implementation of a prototype load balancer on a loosely-coupled distributed system are discussed, and the results of a large number of measurement experiments performed on the system under artificial workloads we constructed using frequently executed system commands are presented. The impacts on the system's performance of the load balancing algorithms, as well as of the values of their adjustable parameters, and of the various types of workloads, are evaluated. The effects of load balancing on the performances of individual hosts and on each type of job are also quantitatively investigated using measurements. The results of our study show that automatic load balancing at the job level can have very beneficial effects on the mean and standard deviation of job response times while causing little overhead and requiring no modification to the system kernel or to applications programs. This is the case even when only a relatively small fraction of the jobs can be executed remotely, and the reduction in response time is uniform across all job types, including those that are not moved for execution to another machine.




Download Full History