, Volume 94, Issue 8–10, pp 649–678 | Cite as

Load balancing in peer-to-peer systems using a diffusive approach

  • Ying Qiao
  • Gregor v. Bochmann


We developed a diffusive load balancing technique for P2P systems. This technique uses the overlay network of a P2P system and results in the nodes of the network having similar available capacities; therefore the services hosted on these nodes are expected to have similar mean response times. In this paper, the technique is presented, including the policies, stages of operation, and decision algorithms. The convergence of the available capacities to the global average is demonstrated. The convergence speed depends on the decision algorithm, the neighborhood structure of the underlying overlay network, and the workload distribution. When used in a system with churn, the technique keeps the standard deviation of available capacities in the system within a bound. This bound depends on the amount of churn and the frequency of the load balancing operations, as well as on the distribution of node capacities. However, the sizes of services have little impact on this bound. The paper presents the results of analytical analysis and simulation studies.


Load balancing Diffusive load balancing Peer-to-peer systems Distributed algorithms Performance management component 

Mathematics Subject Classification

68W15, Distributed algorithms 68M20, Performance evaluation, queueing, scheduling 68M14, Distributed systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cedo F, Cortes A, Ripoll A, Senar MA, Luque E (2007) The Convergence of Realistic Distributed Load-Balancing Algorithms. Theory Comput Syst 41(4): 609–618MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Stoica I, Morris R, Karger D, Kaashoek MF, Balakrishnan H (2001) Chord: a scalable peer-to-peer lookup service for internet applications. SIGCOMM Comput Commun Rev 31(4): 149–160CrossRefGoogle Scholar
  3. 3.
    Ganesan P, Bawa M, Garcia-Molina H (2004) Online balancing of range-partitioned data with applications to peer-to-peer systems. In: Proceedings of the thirtieth international conference on very large data bases, vol 30, Toronto, Canada, August 31–September 03, 2004Google Scholar
  4. 4.
    Corradi A, Leonardi L, Zambonelli F (1999) Diffusive load-balancing policies for dynamic applications. IEEE Concurr 7(1): 22–31CrossRefGoogle Scholar
  5. 5.
    Ledlie J, Seltzer M (2005) Distributed, secure load balancing with skew, heterogeneity and churn. In: Proceedings of 24th INFOCOM 2005, pp 1419–1430, March 2005Google Scholar
  6. 6.
    Willebeek-LeMair MH, Reeves AP (1993) Strategies for dynamic load balancing on highly parallel computers. IEEE Trans Parallel Distributed Syst 4(9): 979–993CrossRefGoogle Scholar
  7. 7.
    Shen H, Xu C (2007) Locality-aware and churn-resilient load-balancing algorithms in structured peer-to-peer networks. IEEE Trans Parallel Distributed Syst 18(6): 849–862CrossRefGoogle Scholar
  8. 8.
    Surana S, Godfrey B, Lakshminarayanan K, Karp R, Stoica I (2006) Load balancing in dynamic structured peer-to-peer systems. Perform Eval 63(3): 217–240CrossRefGoogle Scholar
  9. 9.
    Mohamed-Salem M-V, v Bochmann G, Wong JW (2003) Wide-area server selection using a multi-broker architecture. In: Proceedings of international workshop on new advances of web server and proxy technologies, Providence, USA, May 19Google Scholar
  10. 10.
    Zhu Y, Hu Y (2005) Efficient, proximity-aware load balancing for DHT-based P2P systems. IEEE Trans Parallel Distributed Syst 16(4): 349–361CrossRefGoogle Scholar
  11. 11.
    Vu QH, Ooi BC, Rinard M, Tan K (2009) Histogram-based global load balancing in structured peer-to-peer systems. IEEE Trans Knowl Data Eng 21: 4–595608CrossRefGoogle Scholar
  12. 12.
    Bharambe AR, Agrawal M, Seshan S (2004) Mercury: supporting scalable multi-attribute range queries. In: Proceedings of the SIGCOMM ’04. ACM, New York, NY, pp 353–366Google Scholar
  13. 13.
    Karger DR, Ruhl M (2004) Simple efficient load balancing algorithms for peer-to-peer systems. In: Proceedings of the sixteenth annual ACM symposium on parallelism in algorithms and architectures, Barcelona, Spain, June 27–30, 2004. SPAA ’04. ACM, New York, NY, pp 36–43Google Scholar
  14. 14.
    Zhong M, Shen K, Seiferas J (2008) The convergence-guaranteed random walk and its applications in peer-to-peer networks. IEEE Trans Comput 57(5): 619–633MathSciNetCrossRefGoogle Scholar
  15. 15.
    Qiao Y, von Bochmann G (2009) A diffusive load balancing scheme for clustered peer-to-peer systems. In: Proceedings of the 2009 15th ICPADS. IEEE Computer Society, Washington, DC, pp 842–847Google Scholar
  16. 16.
    Li M, Lee W, Sivasubramaniam A (2006) DPTree: a balanced tree based indexing framework for peer-to-peer systems. In: Proceedings of ICNP 2006. IEEE Computer Society, Washington, DC, pp 12–21Google Scholar
  17. 17.
    Boillat JE (1990) Load balancing and Poisson equation in a graph. Concurr Comput Pract Exp 2(4): 289–313Google Scholar
  18. 18.
    Cybenko G (1989) Dynamic load balancing for distributed memory multiprocessors. J Parallel Distributed Comput 7(2): 279–301CrossRefGoogle Scholar
  19. 19.
    Jain R (1991) The art of computer systems performance analysis. Wiley, New YorkzbMATHGoogle Scholar
  20. 20.
    Bertsekas DP, Tsitsiklis JN (1999) Parallel and distributed computation: numerical methods. Prentice-Hall, Englewood CliffsGoogle Scholar
  21. 21.
    Song J (1994) A partially asynchronous and iterative algorithm for distributed load balancing. Parallel Comput 20(6): 853–868MathSciNetCrossRefGoogle Scholar
  22. 22.
    Zhao S, Stutzbach D, Rejaie R (2006) Characterizing files in the Modern Gnutella network: a measurement study. In: Proceedings of SPIE/ACM Multimedia Computing and Networking, 2006Google Scholar
  23. 23.
    Xu C, Lau FC (1997) Load balancing in parallel computers: theory and practice. Kluwer Academic Publishers, BostonGoogle Scholar
  24. 24.
    Hui CC (1996) A hydro-dynamic approach to heterogeneous dynamic load balancing in a network of computers. In: Proceedings of ICPP 1996. IEEE Computer Society, Washington, DC, p 140Google Scholar
  25. 25.
    Cortés A, Ripoll A, Cedó F, Senar MA, Luque E (2002) An asynchronous and iterative load balancing algorithm for discrete load model. J Parallel Distributed Comput 62(12): 1729–1746zbMATHCrossRefGoogle Scholar
  26. 26.
    Jagadish HV, Ooi B Ch, Vu QH (2005) BATON: a balanced tree structure for peer-to-peer networks. In: Proceedings of the 31st international conference on very large data bases (VLDB ’05), Endowment, pp 661–672Google Scholar
  27. 27.
    Qiao Y, (2012) Using a diffusive approach for load balancing in peer-to-peer systems. Chapter 4, Section, University of Ottawa, Dissertation, 2012, pp 65–74Google Scholar
  28. 28.
    Locher T, Schmid S, Wattenhofer R (2006) eQuus: a provably robust and locality-aware peer-to-peer system. In: Proceeding of sixth IEEE international conference on peer-to-peer computing (P2P’06), pp 3–11Google Scholar
  29. 29.
    SSim library for discrete event simulation.

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.School of Electrical Engineering and Computer ScienceUniversity of OttawaOttawaCanada

Personalised recommendations