• DocumentCode
    2791597
  • Title

    A Parallel Skeleton Library for Multi-core Clusters

  • Author

    Karasawa, Yuki ; Iwasaki, Hideya

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Electro-Commun., Chofu, Japan
  • fYear
    2009
  • fDate
    22-25 Sept. 2009
  • Firstpage
    84
  • Lastpage
    91
  • Abstract
    A parallel skeleton library is a collection of parallel computations that abstract generic and recurring patterns within parallel programs and conceal parallel behaviors as skeletons. It enables users to develop parallel programs as if they were sequential ones by composing suitable skeletons. However, many existing parallel skeleton libraries for distributed environments do not take into account the potential performance of multi-core CPUs, because they operate under the premise that each node (computer) has a single-core CPU. To resolve this problem, this paper proposes the design and implementation of a parallel skeleton library for multi-core clusters. The proposed library adopts a two-stage dynamic task scheduling strategy; the first is among nodes and the second is among cores. This scheduling strategy enables the library to appropriately balance the load both between nodes and cores. The library also dynamically fuses successive skeleton calls to reduce the cost of control flows and increase the locality of data. The proposed skeletons are implemented from scratch for matrices within a parallel skeleton library called SkeTo by using the template techniques in C++ language. We confirmed that our implementation was efficient through various benchmarks.
  • Keywords
    C++ language; libraries; parallel processing; scheduling; C++ language; SkeTo; distributed environments; generic patterns; multi-core CPU; multi-core clusters; parallel skeleton library; recurring patterns; template techniques; two-stage dynamic task scheduling strategy; Concurrent computing; Costs; Distributed computing; Dynamic scheduling; Libraries; Multicore processing; Parallel processing; Parallel programming; Processor scheduling; Skeleton; dynamic load balancing; matrix skeletons; multi-core; parallel skeleton library;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing, 2009. ICPP '09. International Conference on
  • Conference_Location
    Vienna
  • ISSN
    0190-3918
  • Print_ISBN
    978-1-4244-4961-3
  • Electronic_ISBN
    0190-3918
  • Type

    conf

  • DOI
    10.1109/ICPP.2009.18
  • Filename
    5361825