An Experimental Comparison of Load Balancing Strategies in a Web Computing Environment

  • Joachim Gehweiler
  • Peter Kling
  • Friedhelm Meyer auf der Heide
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7204)


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.


Load Balancer Idle Time Parallel Program Volunteer Computing Thread Migration 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bisseling, R.H.: Parallel Scientific Computation: A Structured Approach using BSP and MPI. Oxford University Press (2004)Google Scholar
  2. 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. 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. 4.
    Gehweiler, J.: Peer-to-Peer Based Parallel Web Computing. Ph.D. thesis, Heinz Nixdorf Institute, Paderborn, Germany (2011)Google Scholar
  5. 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. 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. 7.
    The Paderborn University BSP-based Web Computing (PUB-Web) library (October 2011),
  8. 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. 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. 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. 11.
    Swierczkowski, S.: On successive settings of an arc on the circumference of a circle. Fundamenta Mathematicae 46, 187–189 (1958)MathSciNetGoogle Scholar
  12. 12.
    Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Joachim Gehweiler
    • 1
  • Peter Kling
    • 1
  • Friedhelm Meyer auf der Heide
    • 1
  1. 1.Heinz Nixdorf Institute and Computer Science DepartmentUniversity of PaderbornPaderbornGermany

Personalised recommendations