Skip to main content
Log in

A proximity-aware load balancing in peer-to-peer-based volunteer computing systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

One of the main challenges in peer-to-peer-based volunteer computing systems is an efficient resource discovery algorithm. Load balancing is a part of resource discovery algorithm and aims to minimize the overall response time of the system. This paper introduces an analytical model based on distributed parallel queues to optimize the average response time of the system in a distributed manner. The proposed resource discovery algorithm consists of two phases. In the first phase, it selects peers in a load-balanced manner based on QoS constraints of request. In the second phase, a proximity-aware feature is applied to select the peer with minimum communication overhead among selected peers in the first phase. Two dispatching strategies are proposed for the load balancing based on stochastic analysis of routing in the distributed parallel queues. These policies adopt probabilistic and deterministic sequences to redirect requests to the capable peers in the system. Simulation results show that the proposed resource discovery algorithm improves the response time of user’s requests by a factor of 1.8 under a moderate load.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Algorithm 1
Algorithm 2
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Anderson DP, Cobb J, Korpela E, Lebofsky M, Werthimer D (2002) SETI@home: an experiment in public-resource computing. Commun ACM 45:56–61. doi:10.1145/581571.581573

    Article  Google Scholar 

  2. Beberg AL, Ensign DL, Jayachandran G, Khaliq S, Pande VS (2009) Folding@home: lessons from eight years of volunteer distributed computing. In: Proceedings of IEEE international symposium on parallel and distributed processing (IPDPS), pp 1–8. doi:10.1109/IPDPS.2009.5160922

    Google Scholar 

  3. Fedak G, He H, Lodygensky O et al (2008) EDGeS: a bridge between desktop grids and service grids. In: Proceedings of the third ChinaGrid annual conference (ChinaGrid), pp 3–9. doi:10.1109/ChinaGrid.2008.44

    Google Scholar 

  4. Guinnessy P (2003) Climate@home. Phys Today 56:38. doi:10.1063/1.1650221

    Google Scholar 

  5. Anderson DP (2004) BOINC: a system for public-resource computing and storage. In: Proceeding of grid computing (Grid), pp 4–10. doi:10.1109/GRID.2004.14

    Google Scholar 

  6. Epema DHJ, Livny M, Dantzig RV, Evers X, Pruyne J (1996) A worldwide flock of condors: load sharing among workstation clusters. Future Gener Comput Syst 12:53–65

    Article  Google Scholar 

  7. Litzkow MJ, Livny M, Mutka MW (1998) Condor—a hunter of idle workstations. In: Proceedings of international conference on distributed computing systems (ICDCS), pp 104–111. doi:10.1109/DCS.1988.12507

    Google Scholar 

  8. Thain D, Tannenbaum T, Livny M (2005) Distributed computing in practice: the condor experience. Concurr Pract Exp 17:323–356

    Article  Google Scholar 

  9. Chien A, Calder B, Elbert S, Bhatia K (2003) Entropia: architecture and performance of an enterprise desktop grid system. J Parallel Distrib Comput 63:597–610

    Article  Google Scholar 

  10. Cappello F, Djilali S, Fedak G, Herault T, Magniette F, Neri V, Lodygensky O (2005) Computing on large scale distributed systems: XtremWeb architecture, programming models, security, tests and convergence with grid. Future Gener Comput Syst 21:417–437. doi:10.1016/j.future.2004.04.011

    Article  Google Scholar 

  11. Chu X, Nadiminti K, Jin C, Venugopal S, Buyya R (2007) Aneka: next-generation enterprise grid platform for e-science and e-business applications. In: Proceedings of the IEEE international conference on e-science and grid computing (e-science), pp 151–159. doi:10.1109/E-SCIENCE.2007.12

    Google Scholar 

  12. Marosi AC, Gombas G, Balaton Z, Kacsuk P, Kiss T (2008) SZTAKI desktop grid: building a scalable, secure platform for desktop grid computing. In: Making grids work VII, pp 365–376. doi:10.1007/978-0-387-78448-9_29

    Chapter  Google Scholar 

  13. Vladoiu M, Constantinescu Z (2009) Development journey of QADPZ—a desktop grid computing platform. Int J Comput Commun Control 4:82–91

    Google Scholar 

  14. Wolinsky DI, Agrawal A, Boykin P, Davis J, Ganguly A, Paramygin V, Sheng P, Figueiredo R (2006) On the design of virtual machine sandboxes for distributed computing in wide area overlays of virtual workstations. In: Proceedings of international workshop on virtualization technology in distributed computing (VTDC), p 8. doi:10.1109/VTDC.2006.8

    Chapter  Google Scholar 

  15. Abbes H, Cerin C, Jemni M (2008) PastryGrid: decentralisation of the execution of distributed applications in desktop grid. In: Proceedings of international workshop on middleware for grid computing (MGC), pp 1–6. doi:101145/1462704.1462708

    Chapter  Google Scholar 

  16. Abbes H, Cerin C, Jemni M (2009) Bonjourgrid: orchestration of multi-instances of grid middlewares on institutional desktop grids. In: IEEE international symposium on parallel and distributed processing (IPDPS), pp 1–8. doi:10.1109/IPDPS.2009.5161140

    Google Scholar 

  17. Anglano C, Canonico M, Guazzone M, Botta M, Rabellino S, Arena S, Girardi G (2008) Peer-to-peer desktop grids in the real world: the ShareGrid project. In: Proceedings of IEEE international symposium on cluster computing and the grid, pp 609–614 (CCGrid 2008). doi:10.1109/CCGRID.2008.23

    Google Scholar 

  18. Butt AR, Zhang R, Hu CY (2006) A self-organizing flock of condors. J Parallel Distrib Comput 66:145–161

    Article  MATH  Google Scholar 

  19. Byun E, Kim H, Choi S, Lee S, Han YS, Gil JM, Jung SY (2008) Self-gridron: reliable, autonomous, and fully decentralized desktop grid computing system based on neural overlay network. In: Proceedings of the international conference on parallel and distributed processing techniques and applications (PDPTA), pp 569–575

    Google Scholar 

  20. Ghafarian T, Deldari H, Javadi B, Yaghmaee MH, Buyya R (2012) CycloidGrid: A proximity-aware P2P-based resource discovery architecture in volunteer computing systems. Future Gener Comput Syst (in press). doi:10.1016/j.future.2012.08.010

  21. Kim JS, Nam B, Keleher P, Marsh M, Bhattacharjee B, Sussman A (2008) Trade-offs in matchmaking job and balancing load for distributed desktop grids. Future Gener Comput Syst 24:415–424. doi:10.1016/j.future.2007.07.007

    Article  Google Scholar 

  22. Ratnasamy S, Francis P, Handley M, Karp R, Shenker S (2001) A scalable content addressable network. In: Proceedings of the conference on applications, technologies, architectures, and protocols for computer communications (SIGCOMM), pp 161–172. doi:10.1.1.140.3129

    Google Scholar 

  23. Abdullah T, Alima LO, Sokolov V, Calomme D, Bertels K (2009) Hybrid resource discovery mechanism in ad hoc grid using structured overlay. In: Proceedings of the international conference on architecture of computing systems. Lecture notes in computer science, vol 5455. Springer, Berlin, pp 108–119

    Google Scholar 

  24. Mastroianni C, Cozza P, Talia D, Kelley I, Taylor I (2009) A scalable super-peer approach for public scientific computation. Future Gener Comput Syst 25:213–223. doi:10.1016/j.future.2008.08.001

    Article  Google Scholar 

  25. Lazaro D, Marques JM, Vilajosana X (2010) Flexible resource discovery for decentralized P2P and volunteer computing systems. In: Proceedings of workshops on enabling technologies: infrastructure for collaborative enterprises (WETICE), pp 235–240. doi:10.1109/WETICE.2010.44

    Google Scholar 

  26. Di S, Wang CL, Hu DH (2009) Gossip-based dynamic load balancing in a self-organized desktop grid. In: Proceedings of the 10th high-performance computing Asia, HPCAsia, pp 85–92. doi:10.1.1.160.260

    Google Scholar 

  27. Ganesh A, Kermarrec AM, Massoulie L (2003) Peer-to peer membership management for gossip-based protocols. IEEE Trans Comput 52:139–149. doi:10.1109/TC.2003.1176982

    Article  Google Scholar 

  28. Di S, Wang CL (2010) Conflict-minimizing dynamic load balancing for P2P desktop grid. In: Proceeding of 11th IEEE/ACM international conference on grid computing (grid), pp 25–28. doi:10.1109/GRID.2010.5697946

    Google Scholar 

  29. Chatrapati K, Ujwala Rekha J, Vinaya Babu A (2010) Competitive equilibrium approach for load balancing a computational grid with communication delays. J Theor Appl Inf Technol 19:126–133

    Google Scholar 

  30. Shen H, Xu C, Chen G (2006) Cycloid: a scalable constant-degree p2p overlay network. Perform Eval 63:195–216. doi:10.1016/j.peva.2005.01.004

    Article  Google Scholar 

  31. Bouguerra MS, Kondo D, Trystram D (2011) On the scheduling of checkpoints in desktop grids. In: Proceeding of 11th IEEE/ACM international symposium on cluster, cloud and grid computing (CCGrid), pp 305–313. doi:10.1109/CCGrid.2011.63

    Google Scholar 

  32. Ross SM (1997) Stochastic processes. Wiley, New York

    Google Scholar 

  33. Anselmi J, Gaujal B (2010) Optimal routing in parallel, non-observable queues and the price of anarchy revisited. In: Proceedings of 22th international tele traffic congress (ITC), pp 1–8. doi:10.1109/ITC.2010.5608745

    Google Scholar 

  34. Guo X, Lu Y, Squillante MS (2004) Optimal probabilistic routing in distributed parallel queues. ACM SIGMETRICS Perform Eval Rev 32:53–54. doi:10.1145/1035334.1035355

    Article  Google Scholar 

  35. Li K (2008) Optimal load distribution in non dedicated heterogeneous cluster and grid computing environments. J Syst Archit 54:111–123. doi:10.1016/j.sysarc.2007.04.003

    Article  Google Scholar 

  36. Hordijk A, der Laan DV (2004) Periodic routing to parallel queues and billiard sequences. Math Methods Oper Res 59:173–192. doi:10.1007/s001860300322

    Article  MathSciNet  MATH  Google Scholar 

  37. Medina A, Lakhina A, Matta I, Byers J (2001) BRITE: an approach to universal topology generation. In: Proceedings of international symposium on modelling, analysis and simulation of computer and telecommunication systems (MASCOTS), pp 346–353. doi:10.1.1.94.2118

    Google Scholar 

  38. Malecot P, Kondo D, Fedak G (2006) XtremLab: a platform for observation and characterization grids of PCs on the Internet. In: Proceeding of parallel meetings of the French (RenPar)

    Google Scholar 

  39. Iosup A, Sonmez O, Anoep S, Epema D (2008) The performance of bags-of-tasks in large-scale distributed systems. In: Proceedings of the international symposium on high performance distributed computing (HPDC), pp 97–108. doi:10.1145/1383422.1383435

    Google Scholar 

  40. da Silva FAB, Senger H (2011) Scalability limits of bag-of-tasks applications running on hierarchical platforms. J Parallel Distrib Comput 71:788–801

    Article  MATH  Google Scholar 

  41. Kondo D, Anderson DP, McLeod J VII (2007) Performance evaluation of scheduling policies for volunteer computing. In: Proceedings of IEEE international conference on e-science and grid computing (e-science), pp 415–422. doi:10.1109/E-SCIENCE.2007.57

    Google Scholar 

  42. Anderson DP (2011) Emulating volunteer computing scheduling policies. In: Proceeding of IEEE international parallel & distributed processing symposium (IPDPS), pp 1839–1846. doi:10.1109/IPDPS.2011.343

    Google Scholar 

  43. Basher N, Mahanti A, Williamson C, Arlitt M (2008) A comparative analysis of web and peer-to-peer traffic. In: Proceeding of international world wide web conference (WWW), pp 287–296. doi:10.1145/1367497.1367537

    Chapter  Google Scholar 

  44. Elwaer A, Harrison A, Kelley I, Taylor I (2011) Attic: A case study for distributing data in BOINC projects. In: IEEE international parallel & distributed processing symposium (IPDPS), pp 1863–1870. doi:10.1109/IPDPS.2011.348

    Google Scholar 

  45. Irwin D, Grit L, Chase J (2004) Balancing risk and reward in a market-based task service. In: IEEE international symposium on high performance distributed computing (HPDC), pp 160–169. doi:10.1109/HPDC.2004.1323519

    Google Scholar 

  46. Heien EM, Anderson DP, Hagihara K (2009) Computing low latency batches with unreliable workers in volunteer computing environments. J Grid Comput 7:501–518. doi:10.1007/s10723-009-9131-6

    Article  Google Scholar 

Download references

Acknowledgements

This project was partially supported by Iran Telecommunication Research Centre (ITRC). The authors would like to thank Rodrigo N. Calheiros, Mohsen Amini, and Amir Vahid for useful discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Toktam Ghafarian.

Appendix: Proof of Eq. (8)

Appendix: Proof of Eq. (8)

To solve the objective function of Eq. (3) we extend the approach developed by Li [35], since \(\tilde{\lambda} _{1} + \tilde{\lambda} _{2} +\cdots + \tilde{\lambda} _{N_{i}}\) is fixed, the problem is equivalent to minimize

$$Z(\tilde{\lambda} _{1},\tilde{\lambda} _{2},...,\tilde{\lambda} _{N_{i}}) = \hat{\lambda} _{i}\hat{T}_{i} = \sum_{j = 1}^{N_{i}} \tilde{\lambda} _{j}E(\tilde{T}_{j} ) = \sum_{j = 1}^{N_{i}} \biggl(\tilde{\lambda} _{j}\bar{x}_{j} + \frac{\tilde{\lambda} _{j}\bar{x}_{j}(C_{I_{j}}^{2} - C_{S_{j}}^{2})}{2(1 - \tilde{\lambda} _{j}\bar{x}_{j})} \biggr) $$

By substituting Eq. (7) in the above equation, we have

$$Z(\tilde{\lambda} _{1},\tilde{\lambda} _{2},\ldots,\tilde{\lambda} _{N_{i}}) = \sum_{j = 1}^{N_{i}} \biggl(\tilde{\lambda} _{j}\bar{x}_{j} + \frac{\tilde{\lambda} _{j}\bar{x}_{j}(1 + \frac{\tilde{\lambda} _{j}}{\hat{\lambda} _{i}}((\hat{\lambda} _{i})^{2}\sigma _{I_{i}}^{2} - 1) - C_{S_{j}}^{2})}{2(1 - \tilde{\lambda} _{j}\bar{x}_{j})}\biggr) $$

In order to minimize \(Z(\tilde{\lambda} _{1},\tilde{\lambda} _{2},\ldots,\tilde{\lambda} _{N_{i}})\) the Lagrange multiplier system is used,

$$\Delta Z(\tilde{\lambda}_{1},\tilde{\lambda}_{2},\ldots,\tilde{\lambda}_{N_{i}}) = z\Delta C(\tilde{\lambda}_{1},\tilde{\lambda}_{2},\ldots,\tilde{\lambda}_{N_{i}}) $$

That is, we have N equations

$$\frac{\partial Z(\tilde{\lambda} _{1},\tilde{\lambda} _{2},\ldots,\tilde{\lambda} _{N_{i}})}{\partial \tilde{\lambda} _{j}} = z\frac{\partial C(\tilde{\lambda} _{1},\tilde{\lambda} _{2},\ldots,\tilde{\lambda} _{N_{i}})}{\partial \tilde{\lambda} _{j}} $$

For all 1≤jN i , and \(C(\tilde{\lambda} _{1},\tilde{\lambda} _{2},\ldots,\tilde{\lambda} _{N_{i}})\) is the constraint \(\tilde{\lambda} _{1} + \tilde{\lambda} _{2} + \cdots + \tilde{\lambda} _{N_{i}} - \hat{\lambda} _{i} = 0\), and z is the Lagrange multiplier. We have

$$\tfrac{\partial Z(\tilde{\lambda} _{1},\tilde{\lambda} _{2},\ldots,\tilde{\lambda} _{N_{i}})}{\partial \tilde{\lambda} _{j}} = \tfrac{\bar{x}_{j}((\hat{\lambda} _{i})^{2}\tilde{\lambda} _{j}\sigma _{I_{i}}^{2}(2 - \tilde{\lambda} _{j}\bar{x}_{j}) + \tilde{\lambda} _{j}( - 2 + \tilde{\lambda} _{j}\bar{x}_{j}) - \hat{\lambda} _{i}( - 3 + C_{S_{j}}^{2} + 4\tilde{\lambda} _{j}\bar{x}_{j} - 2(\tilde{\lambda} _{j})^{2}(\bar{x}_{j})^{2}))}{2\hat{\lambda} _{i}( - 1 + \tilde{\lambda} _{j}\bar{x}_{j})^{2}} $$

Thus, we can get \(a_{j}(\tilde{\lambda} _{j})^{2} + b_{j}\tilde{\lambda} _{j} + c_{j} = 0\), where

and

$$c_{j} = 3\hat{\lambda} _{i}\bar{x}_{j} - \hat{\lambda} _{i}\bar{x}_{j}C_{S_{j}}^{2} - 2\hat{\lambda} _{i}z $$

We have

$$\tilde{\lambda} _{j} = \frac{1}{\bar{x}_{j}} - \frac{1}{\bar{x}_{j}}\sqrt{\frac{1 - (\hat{\lambda} _{i})^{2}\sigma _{I_{i}}^{2} + (C_{S_{j}}^{2} - 1)\hat{\lambda} _{i}\bar{x}_{j}}{1 - (\hat{\lambda} _{i})^{2}\sigma _{I_{i}}^{2} + 2\hat{\lambda} _{i}(\bar{x}_{j} - z)}} $$

We have steady state situation if \(\tilde{\lambda} _{j}\bar{x}_{j} < 1 \Rightarrow\tilde{\lambda} _{j} < \frac{1}{\bar{x}_{j}}\), consequently the other value for \(\tilde{\lambda} _{j}\) is not acceptable.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ghafarian, T., Deldari, H., Javadi, B. et al. A proximity-aware load balancing in peer-to-peer-based volunteer computing systems. J Supercomput 65, 797–822 (2013). https://doi.org/10.1007/s11227-012-0866-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0866-7

Keywords

Navigation