An Experimental Comparison of Load Balancing Strategies in a Web Computing Environment
Abstract
Web Computing is a variant of parallel computing where the idle times of PCs donated by worldwide distributed users are employed to execute parallel programs. The PUB-Web library developed by us supports this kind of usage of computing resources. A major problem for the efficient execution of such parallel programs is load balancing. In the Web Computing context, this problem becomes more difficult because of the dynamic behavior of the underlying “parallel computer”: the set of available processors (donated PCs) as well as their availability (idle times) change over time in an unpredictable fashion.
In this paper, we experimentally evaluate and compare load balancing algorithms in this scenario, namely a variant of the well-established Work Stealing algorithm and strategies based on a heterogeneous version of distributed hash-tables (DHHTs) introduced recently. In order to run a meaningful experimental evaluation, we employ, in addition to our Web Computing library PUB-Web, realistic data sets for the job input streams and for the dynamics of the availability of the resources.
Our experimental evaluations suggest that Work Stealing is the better strategy if the number of processes ready to run matches the number of available processors. But a suitable variant of DHHTs outperforms Work Stealing if there are significantly more processes ready to run than available processors.
Keywords
Load Balancer Idle Time Parallel Program Volunteer Computing Thread MigrationPreview
Unable to display preview. Download preview PDF.
References
- 1.Bisseling, R.H.: Parallel Scientific Computation: A Structured Approach using BSP and MPI. Oxford University Press (2004)Google Scholar
- 2.Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. In: Proceedings of the 35th Annual Symposium on Foundations of Computer Science (FOCS), pp. 356–368 (1994)Google Scholar
- 3.Bonorden, O., Gehweiler, J., Meyer auf der Heide, F.: A Web Computing Environment for Parallel Algorithms in Java. In: Wyrzykowski, R., Dongarra, J., Meyer, N., Waśniewski, J. (eds.) PPAM 2005. LNCS, vol. 3911, pp. 801–808. Springer, Heidelberg (2006)CrossRefGoogle Scholar
- 4.Gehweiler, J.: Peer-to-Peer Based Parallel Web Computing. Ph.D. thesis, Heinz Nixdorf Institute, Paderborn, Germany (2011)Google Scholar
- 5.Gehweiler, J., Schomaker, G.: Distributed load balancing in heterogeneous peer-to-peer networks for web computing libraries. In: Proceedings of the 10th Symposium on Distributed Simulation and Real Time Applications (DS-RT), pp. 51–58 (2006)Google Scholar
- 6.Karger, D., Lehman, E., Leighton, T., Panigrahy, R., Levine, M., Lewin, D.: Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the world wide web. In: Proceedings of the 29th Symposium on Theory of Computing (STOC), pp. 654–663 (1997)Google Scholar
- 7.The Paderborn University BSP-based Web Computing (PUB-Web) library (October 2011), http://pubweb.cs.uni-paderborn.de/
- 8.Rudolph, L., Slivkin-Allalouf, M., Upfal, E.: A simple load balancing scheme for task allocation in parallel machines. In: Proceedings of the 3rd Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), pp. 237–245 (1991)Google Scholar
- 9.Sarmenta, L.F.G.: An Adaptive, Fault-Tolerant Implementation of BSP for Java-Based Volunteer Computing Systems. In: Rolim, J.D.P. (ed.) IPPS-WS 1999 and SPDP-WS 1999. LNCS, vol. 1586, pp. 763–780. Springer, Heidelberg (1999)CrossRefGoogle Scholar
- 10.Schindelhauer, C., Schomaker, G.: Weighted distributed hash tables. In: Proceedings of the 17th Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 218–227 (2005)Google Scholar
- 11.Swierczkowski, S.: On successive settings of an arc on the circumference of a circle. Fundamenta Mathematicae 46, 187–189 (1958)MathSciNetGoogle Scholar
- 12.Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar