• DocumentCode
    1763731
  • Title

    An Extensible System for Multilevel Automatic Data Partition and Mapping

  • Author

    Gonzalez-Escribano, Arturo ; Torres, Yuri ; Fresno, Javier ; Llanos, Diego

  • Author_Institution
    Dept. de Inf., Univ. de Valladolid, Valladolid, Spain
  • Volume
    25
  • Issue
    5
  • fYear
    2014
  • fDate
    41760
  • Firstpage
    1145
  • Lastpage
    1154
  • Abstract
    Automatic data distribution is a key feature to obtain efficient implementations from abstract and portable parallel codes. We present a highly efficient and extensible runtime library that integrates techniques for automatic data partition and mapping. It uses a novel approach to define an abstract interface and a plug-in system to encapsulate different types of regular and irregular techniques, helping to generate codes which are independent of the exact mapping functions selected. Currently, it supports hierarchical tiling of arrays with dense and stride domains, that allows the implementation of both data and task parallelism using a SPMD model. It automatically computes appropriate domain partitions for a selected virtual topology, mapping them to available processors with static or dynamic load-balancing techniques. Our library also allows the construction of reusable communication patterns that efficiently exploit MPI communication capabilities. The use of our library greatly reduces the complexity of data distribution and communication, hiding the details of the underlying architecture. The library can be used as an abstract layer for building generic tiling operations as well. Our experimental results show that the use of this library allows to achieve similar performance as carefully-implemented manual versions for several, well-known parallel kernels and benchmarks in distributed and multicore systems, and substantially reduces programming effort.
  • Keywords
    application program interfaces; message passing; parallel programming; program compilers; resource allocation; software libraries; Hitmap; MPI communication capabilities; SPMD model; abstract interface; abstract layer; automatic data distribution; code generation; data communication; distributed system; dynamic load-balancing technique; generic tiling operations; hierarchical array tiling; multicore system; multilevel automatic data mapping; multilevel automatic data partition; parallel kernels; plug-in system; portable parallel codes; processors; programming effort reduction; reusable communication patterns; runtime library; static load-balancing technique; task parallelism; virtual topology; Arrays; Indexes; Layout; Libraries; Program processors; Topology; Data partition; MPI; mapping techniques; parallel libraries; tiling;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2013.83
  • Filename
    6482561