Performance comparisons of load balancing algorithms for I/O-intensive workloads on clusters
Load balancing techniques play a critically important role in developing high-performance cluster computing platforms. Existing load balancing approaches are concerned with the effective usage of CPU and memory resources. Due to imbalance in disk I/O resources under I/O-intensive workloads, the previous CPU- or memory-aware load balancing schemes suffer significant performance drop. To remedy this deficiency, in this paper we propose a novel load-balancing algorithm (hereinafter referred to as IOLB) for clusters, which aims at maintaining high resource utilization under a wide range of workload conditions. Specifically, IOLB is conducive to reducing the average slowdown of all parallel jobs submitted to a cluster by balancing load in disk resources. This can, in turn, not only achieve the effective usage of global disk resources but also reduce response times of I/O-intensive parallel jobs. To theoretically study the optimization of the IOLB algorithm, we qualitatively comparing IOLB with two conventional CPU- and memory-aware load-balancing schemes. We prove that when the workloads become CPU- or memory-intensive in nature, IOLB gracefully degrades towards the existing load-balancing schemes. Experimental results based on trace-driven simulations demonstratively show that the IOLB algorithm significantly improves the resource utilization of a cluster under I/O-intensive workloads. Furthermore, our results confirm that IOLB is able to maintain the same level of performance as the two existing approaches, because IOLB improves CPU and memory utilization under CPU- and memory-intensive workloads.
load balancing clusters slowdown i/o-intensive applications