Abstract
We have designed a set of protocols that use peer-to-peer techniques to efficiently implement a distributed and decentralized desktop grid. Incoming jobs with different resource requirements are matched with system nodes through proximity in an N-dimensional Content-Addressable Network, where each resource type is represented as a distinct dimension. In this paper, we describe a comprehensive suite of techniques that cooperate to maximize throughput, and to ensure that load is balanced across all peers. We balance load induced by job executions through randomly generated virtual dimension values, which act to disaggregate clusters of nodes/jobs, and also by a job pushing mechanism based on an approximate global view of the system. We improve upon initial job assignments by using a job-stealing mechanism to overcome load imbalance caused by heterogeneity of nodes/jobs and stale load information. We also describe a set of optimizations that combine to reduce the system load created by the management of the underlying peer-to-peer system and the job-monitoring infrastructure. Unlike other systems, we can effectively support resource constraints of jobs during the course of load balancing since we simplify the problem of matchmaking through building a multi-dimensional resource space and mapping jobs and nodes to this space. We use extensive simulation results to show that the new techniques improve scalability, system throughput, and average response time.
Similar content being viewed by others
References
Anderson, D.: BOINC: a system for public-resource computing and storage. In: Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing (GRID 2004) (2004)
Anderson, D.P., Christensen, C., Allen, B.: Designing a runtime system for volunteer computing. In: Proceedings of the 2006 IEEE/ACM SC06 Conference (2006)
Anderson, D.P., Cobb, J., Korpela, E., Lebofsky, M., Werthimer, D.: SETI@home: an experiment in public-resource computing. Commun. ACM 45(11), 56–61 (2002)
Awan, A., Ferreira, R.A., Jagannathan, S., Grama, A.: Unstructured peer-to-peer networks for sharing processor cycles. Parallel Comput. 32, 2 (2006)
Becchi, M., Crowley, P.: Dynamic thread assignment on heterogeneous multiprocessor architectures. In: Proceedings of the 3rd Conference on Computing Frontiers (2006)
BOINC: Open-source software for volunteer computing and grid computing. http://boinc.berkeley.edu/
Bridgewater, J., Boykin, P.O., Roychowdhury, V.: Balanced overlay networks (BON): an overlay technology for decentralized load balancing. IEEE Trans. Parallel Distrib. Syst. 18(7), 1122–1133 (2007)
Caromel, D., di Costanzo, A., Mathieu, C.: Peer-to-peer for computational grids: mixing clusters and desktop machines. Parallel Comput. 33(4–5), 275–288 (2007)
Cheema, A.S., Muhammad, M., Gupta, I.: Peer-to-peer discovery of computational resources for grid applications. In: Proceedings of the 6th IEEE/ACM International Workshop on Grid Computing (GRID 2005) (2005)
Coleman, N., Raman, R., Livny, M., Solomon, M.: Distributed policy management and comprehension with classified advertisements. Tech. Rep. UW-CS-TR-1481, University of Wisconsin - Madison Computer Sciences Department (2003)
Demers, A., Greene, D., Hauser, C., Irish, W., Larson, J., Shenker, S., Sturgis, H., Swinehart, D., Terry, D.: Epidemic algorithms for replicated database maintenance. In: Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing (1987)
Epema, D., Livny, M., van Dantzig, R., Evers, X., Pruyne, J.: A worldwide flock of condors: load sharing among workstation clusters. Future Gener. Comput. Syst. 12(1), 53–65 (1996)
Folding@Home: http://folding.stanford.edu
Foster, I., Iamnitchi, A.: On death, taxes, and the convergence of Peer-to-peer and grid computing. In: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS ’03) (2003)
Godfrey, B., Lakshminarayanan, K., Surana, S., Karp, R., Stoica, I.: Load balancing in dynamic structured P2P systems. In: Proceedings of the IEEE INFOCOM 2004 (2004)
Gupta, R., Sekhri, V., Somani, A.K.: CompuP2P: an architecture for internet computing using peer-to-peer networks. IEEE Trans. Parallel Distrib. Syst. 17(11), 1306–1320 (2006)
Kim, J.S., Keleher, P., Marsh, M., Bhattacharjee, B., Sussman, A.: Using content-addressable networks for load balancing in desktop grids. In: Proceedings of the 16th IEEE International Symposium on High Performance Distributed Computing (HPDC 2007) (2007)
Kim, J.S., Nam, B., Keleher, P., Marsh, M., Bhattacharjee, B., Sussman, A.: Trade-offs in matching jobs and balancing load for distributed desktop grids. Future Gener. Comput. Syst. 24(5), 415–424 (2008)
Kim, J.S., Nam, B., Marsh, M., Keleher, P., Bhattacharjee, B., Sussman, A.: Integrating categorical resource types into a P2P desktop grid system. In: Proceedings of the 9 IEEE/ACM International Conference on Grid Computing (GRID 2008) (2008)
Ledlie, J., Schneidman, J., Seltzer, M., Huth, J.: Scooped, again. In: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS ’03) (2003)
Litzkow, M.J., Livny, M., Mutka, M.W.: Condor—a Hunter of idle workstations. In: Proceedings of the 8th International Conference on Distributed Computing Systems (1988)
Mastroianni, C., Talia, D., Verta, O.: A super-peer model for building resource discovery services in grids: design and simulation analysis. In: Proceedings of the European Grid Conference (EGC2005) (2005)
Oppenheimer, D., Albrecht, J., Patterson, D., Vahdat, A.: Design and implementation tradeoffs for wide-area resource discovery. In: Proceedings of the 14th IEEE International Symposium on High Performance Distributed Computing (HPDC-14) (2005)
Raicu, I., Foster, I., Zhao, Y.: Many-task computing for grids and supercomputers. In: Proceedings of the Workshop on Many-Task Computing on Grids and Supercomputers (MTAGS’08) (2008)
Raicu, I., Zhang, Z., Wilde, M., Foster, I., Beckman, P., Iskra, K., Clifford, B.: Towards loosely-coupled programming on petascale systems. In: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing (SC’08) (2008)
Raicu, I., Zhao, Y., Dumitrescu, C., Foster, I., Wilde, M.: Falkon: a fast and light-weight tasK executiON framework. In: Proceedings of the 2007 ACM/IEEE Conference on Supercomputing (SC’07) (2007)
Raman, R., Livny, M., Solomon, M.: Matchmaking: distributed resource management for high throughput computing. In: Proceedings of the 7th IEEE International Symposium on High Performance Distributed Computing (HPDC-7) (1998)
Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content addressable network. In: Proceedings of the ACM SIGCOMM (2001)
Roy, A., Livny, M.: Condor and preemptive resume scheduling. Grid Resource Management: State of the Art and Future Trends, pp. 135–144. Springer, New York (2003)
Samet, H.: Foundations of Multidimensional and Metric Data Structures. Morgan-Kaufmann, Burlington (2006)
Shivaratri, N.G., Krueger, P., Singhal, M.: Load distributing for locally distributed systems. Computer 25(12), 33–44 (1992)
SZTAKI Desktop grid. http://szdg.lpds.sztaki.hu/szdg/
Thain, D., Tannenbaum, T., Livny, M.: Distributed computing in practice: the Condor experience. Concurr. Comput. 17(2–4), 323–356 (2005)
Trunfio, P., Talia, D., Papadakis, H., Fragopoulou, P., Mordacchini, M., Pennanen, M., Popov, K., Vlassov, V., Haridi, S.: Peer-to-peer resource discovery in grids: models and systems. Future Gener. Comput. Syst. 23(7), 864–878 (2007)
Walker, E., Gardner, J.P., Litvin, V., Turner, E.L.: Creating personal adaptive clusters for managing scientific jobs in a distributed computing environment. In: Proceedings of the Challenges of Large Applications in Distributed Environments (CLADE’06) (2006)
Zhou, D., Lo, V.: WaveGrid: a scalable fast-turnaround heterogeneous peer-based desktop grid system. In: Proceedings of the 20th International Parallel & Distributed Processing Symposium (2006)
Zhu, Y., Hu, Y.: Efficient, proximity-aware load balancing for dht-based p2p system. IEEE Trans. Parallel Distrib. Syst. 16(4), 349–361 (2005)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kim, JS., Nam, B. & Sussman, A. Scalable and effective peer-to-peer desktop grid system. Cluster Comput 17, 1185–1201 (2014). https://doi.org/10.1007/s10586-014-0390-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-014-0390-z