Exploiting multi-core nodes in peer-to-peer grids

https://doi.org/10.1016/j.jpdc.2013.12.001Get rights and content

Highlights

  • We manage multi-core nodes efficiently in a decentralized way in peer-to-peer grids.

  • We schedule multi-threaded jobs in P2P grids effectively.

  • We suggest a parameterized performance model for concurrent jobs in a multi-core.

  • Our schemes perform competitively to centralized methods, confirmed by simulations.

  • Large-scale simulations show that our schemes scale well.

Abstract

While the majority of CPUs now sold contain multiple computing cores, current grid computing systems either ignore the multiplicity of cores, or treat them as distinct, independent machines. The latter approach ignores the resource contention present between cores in a single CPU, while the former approach fails to take advantage of significant computing power. We provide a decentralized resource management framework for exploiting multi-core nodes to run multi-threaded applications in peer-to-peer grids. We present two new load-balancing schemes that explicitly account for the resource sharing and contention of multiple cores, and propose a parameterized performance prediction model that can represent a continuum of resource sharing among cores of a CPU. We use extensive simulation to confirm that our two algorithms match jobs with computing nodes efficiently, and balance load during the lifetime of the computing jobs.

Introduction

The majority of CPUs now sold contain multiple computing cores. However, even though multiple cores can often handle multiple tasks in parallel, overall performance with unoptimized software support can be poor. For example, Moore  [40] shows that multi-core processors cannot guarantee increased performance for supercomputing applications, and that some applications may even have worse performance than with single-core nodes. Given that it is not easy to utilize multi-core environments even on a single host, it is not surprising that there has been little research on integrating multi-core desktop machines into desktop grids. We address the problem of resource management for multi-core grids both to effectively utilize all available grid resources, including cores, and to run jobs that request multiple cores (presumably because they are multi-threaded).

Multi-core grids pose many challenges as follows. First, when a multi-core node runs jobs but all cores are not used, the number of free cores and amount of available shared resources should ideally be advertised to the grid system for matchmaking with future incoming jobs. Unfortunately, representing the dynamic aspects of node capability in current peer-to-peer grid systems is not straightforward. Second, running concurrent jobs on a multi-core node can result in contention for shared resources such as memory, cache, etc. There is currently no simple analytical model for this situation.

In this paper, we make the following contributions. First, we propose two new dynamic resource management schemes, Dual-CAN and the Balloon Model, which account for multi-core machines in a peer-to-peer (P2P) grid. The key idea behind both schemes is to use distinct logical peers to represent a single physical multi-core node. One logical peer represents the static and maximum node capability, and the other expresses the current available amount of resources. Second, we develop a scheme for efficiently mapping jobs to multi-core nodes within the new resource management frameworks. We extend our existing single-core approaches to aggregating information and representing global grid state, and we describe a “job-pushing” algorithm that efficiently balances load in both single-core and multi-core machines. Third, we suggest a new approach to modeling the performance of multi-core nodes, using a penalty factor to account for resource contention. We collected experimental data by running various benchmark tests, and interpolate those results to predict resource contention effects. We use the penalty factor to give less priority to nodes running memory-intensive jobs in our job scheduling algorithm to avoid performance degradation due to resource contention. Finally, we describe extensive simulation results that show that our new approaches outperform multi-core oblivious approaches.

This paper has unique contributions different from our previous work. Our initial work  [23], [24] gave a foundation of P2P-based desktop grid computing framework, and the advanced load balancing algorithm we proposed in  [22] improved job allocation performance. However, those approaches are limited by an assumption that nodes have only a single-core CPU; this paper overcomes this limitation to extent our resource management framework by exploiting multi-core CPUs for multi-threaded jobs. Most similar our previous work is  [26], which deals with job scheduling schemes across different types of computing elements (e.g. scheduling amongst General Purpose GPUs and CPUs). This paper focuses on multi-core CPUs which have homogeneous computing characteristics across cores.

The rest of the paper is organized as follows. Section  2 describes the Content-Addressable Network (CAN)  [43]-based peer-to-peer grid system within which we implement our new techniques. We present the distributed resource management scheme in Section  3. Section  4 presents the performance prediction model for concurrent jobs in multi-core nodes, and Section  5 shows our performance results. Section  6 addresses remained discussion. Section  7 summarizes related work, and we conclude in Section  8.

Section snippets

Overview of peer-to-peer grid system

In this section, we describe the basic peer-to-peer grid platform including how jobs are submitted and mapped to appropriate nodes in a decentralized way. First, we describe the basic system architectures including underlying assumptions and nodes/jobs characteristics. Second, we discuss our basic matchmaking framework based on Content-Addressable Network (CAN)  [43]. Finally, advanced load balancing protocols are presented using probabilistic job pushing method.

Resource management in a multi-core grid

While previous approach described in Section  2 deals with single-core nodes for single-threaded jobs, in this section, we describe decentralized resource management and job scheduling techniques for a multi-core node in order to run multi-threaded jobs or multiple single-threaded jobs.

Contention penalty in concurrent memory-intensive jobs

One of the unresolved issues in multi-core computing is the performance effects from having two or more jobs running simultaneously, on different cores, in the same node. If two jobs frequently access a shared resource, such as cache or memory, or have large memory bandwidth requirements, one job may have to wait while another job is accessing memory. This contention for memory or other shared resources increases job running time compared to running a single job on a node. However, instead of

Experimental setup

To experiment with a P2P grid environment efficiently, our simulation uses synthetic workload and resource events. We generated a sequence of events that are composed of node joins, node departures, and job submissions. Events are generated with the intervals between events having an exponential distribution with arrival rate τ. Since we target large-scale desktop grids composed of many independent users (job submitters), we adopt an exponential distribution for job inter-arrival time.

Nodes and

Discussion

Our proposed system is based on our P2P grid architecture described in Section  2   [23]. Our system implicitly assumes that every node is benign and unselfish because our computing model is a volunteer desktop grid. In this section, we will discuss the implications of the assumptions made about the nodes in the system. Specifically, we will discuss how selfish or malicious nodes can affect matchmaking performance and the behavior of the CAN overlay network.

First, we discuss the case of

Related work

There is a great deal of previous research on grid computing based on peer-to-peer architectures, but these do not necessarily share all of our goals. For example, unstructured P2P frameworks  [9], [20], [36] employing Time-to-Live message timeouts, cannot have our desired completeness property because they may fail to find a node capable of running a job even though one exists in the grid. There have also been studies on encoding resource information using a DHT hash function for resource

Conclusion

We have proposed a new decentralized resource management framework for exploiting multi-core nodes in a P2P grid system. The key innovation is to use distinct logical nodes to represent the static and dynamic aspects of node utilization. We developed two resource management schemes, the Dual-CAN and Balloon models, and present an efficient matchmaking scheme. In addition, we present a new analytic running time model for concurrent jobs in multi-core environments.

Our experimental results show

Jaehwan Lee received his Ph.D. in computer science from the University of Maryland, College Park. His current research interests include high performance computing, peer-to-peer Grid computing for multi-core and heterogeneous environments, and general distributed system related to network and security. Before his study in Maryland, he was a researcher at Korea Telecom (KT) Labs for five years. His research focused on public wireless network based on IEEE 802.11/16, such as Quality of Service

References (54)

  • N. Andrade et al.

    Automatic grid assembly by promoting collaboration in peer-to-peer grids

    J. Parallel Distrib. Comput.

    (2007)
  • D. Caromel et al.

    Peer-to-peer for computational grids: mixing clusters and desktop machines

    Parallel Comput.

    (2007)
  • T. Abdullah et al.

    Hybrid resource discovery mechanism in ad hoc grid using structured overlay

  • J.P. Ahulló, P.G. López, Planetsim: an extensible framework for overlay network and services simulations, in:...
  • S.R. Alam, R.F. Barrett, J.A. Kuehn, P.C. Roth, J.S. Vetter, Characterization of scientific workloads on systems with...
  • G.M. Amdahl

    Validity of the single processor approach to achieving large scale computing capabilities

  • D. Anderson, BOINC: a system for public-resource computing and storage, in: Proceedings of the 5th IEEE/ACM...
  • C. Bienia, Benchmarking modern multiprocessors, Ph.D. Thesis, Princeton University, January...
  • S. Blagodurov et al.

    A case for numa-aware contention management on multicore systems

  • A.S. Cheema, M. Muhammad, I. Gupta, Peer-to-peer discovery of computational resources for grid applications, in:...
  • S. Choi et al.

    Adaptive group scheduling mechanism using mobile agents in peer-to-peer grid computing environment

    Appl. Intell.

    (2006)
  • N. Coleman, R. Raman, M. Livny, M. Solomon, Distributed policy management and comprehension with classified...
  • T. Dey, W. Wang, J. Davidson, M. Soffa, Characterizing multi-threaded applications based on shared-resource contention,...
  • I. Foster et al.

    Globus: a metacomputing infrastructure toolkit

    Internat. J. Supercomput. Appl.

    (1996)
  • M.J. Freedman, E. Freudenthal, D. Mazi, Democratizing content publication with Coral, in: Proceedings of the 1st...
  • R. Gupta et al.

    CompuP2P: an architecture for internet computing using peer-to-peer networks

    IEEE Trans. Parallel Distrib. Syst.

    (2006)
  • J.L. Gustafson

    Reevaluating amdahl’s law

    Commun. ACM

    (1988)
  • M. Hill et al.

    Amdahl’s law in the multicore era

    IEEE Comput.

    (2008)
  • R. Hood, H. Jin, P. Mehrotra, J. Chang, J. Djomehri, S. Gavali, D. Jespersen, K. Taylor, R. Biswas, Performance impact...
  • A. Iamnitchi et al.

    A peer-to-peer approach to resource location in grid environments

  • A. Iosup, C. Dumitrescu, D. Epema, How are real grids used? The analysis of four grid traces and its implications, in:...
  • J.-S. Kim, P. Keleher, M. Marsh, B. Bhattacharjee, A. Sussman, Using content-addressable networks for load balancing in...
  • J.-S. Kim, B. Nam, P. Keleher, M. Marsh, B. Bhattacharjee, A. Sussman, Resource discovery techniques in distributed...
  • J.-S. Kim, B. Nam, M. Marsh, P. Keleher, B. Bhattacharjee, D. Richardson, D. Wellnitz, A. Sussman, Creating a robust...
  • J.-S. Kim, B. Nam, M. Marsh, P. Keleher, B. Bhattacharjee, A. Sussman, Integrating categorical resource types into a...
  • J. Lee, P. Keleher, A. Sussman, Supporting computing element heterogeneity in P2P grids, in: Proceedings of the 2011...
  • J. Lee, P. Keleher, A. Sussman, Decentralized dynamic scheduling across heterogeneous multi-core desktop grids, in:...
  • Cited by (0)

    Jaehwan Lee received his Ph.D. in computer science from the University of Maryland, College Park. His current research interests include high performance computing, peer-to-peer Grid computing for multi-core and heterogeneous environments, and general distributed system related to network and security. Before his study in Maryland, he was a researcher at Korea Telecom (KT) Labs for five years. His research focused on public wireless network based on IEEE 802.11/16, such as Quality of Service (QoS) enhancement, fast hand-off, nation-wide network management and AAA/security issues. He received his B.S. (1998) and M.S. (2000) in Electrical Engineering from Seoul National University, Korea. He was a recipient of the General Electric (GE) Scholarship and the Korean Government Scholarship for Electric Power Industry during 1996–1998 and 2005–2007, respectively.

    Pete Keleher received a Ph.D. in computer science from Rice University in 1995. He is currently an Associate Professor in the Computer Science Department at the University of Maryland. Professor Keleher’s primary interests are in the design and analysis of distributed computing infrastructure, distributed security infrastructure, and communication performance.

    Alan Sussman is a Professor in the Computer Science Department at the University of Maryland. His research interests include Grid computing, Peer-to-Peer (P2P) systems, high performance database and I/O systems, coupled multiphysics simulations, and compilers and runtime environments for distributed and parallel systems. He received his Ph.D. in computer science from Carnegie Mellon University and his B.S.E. in Electrical Engineering and Computer Science from Princeton University.

    View full text