• DocumentCode
    1221262
  • Title

    Compiler techniques for the distribution of data and computation

  • Author

    Navarro, Angeles ; Zapata, Emilio ; Padua, David

  • Author_Institution
    Dept. of Comput. Archit., Malaga Univ., Spain
  • Volume
    14
  • Issue
    6
  • fYear
    2003
  • fDate
    6/1/2003 12:00:00 AM
  • Firstpage
    545
  • Lastpage
    562
  • Abstract
    This paper presents a new method that can be applied by a parallelizing compiler to find, without user intervention, the iteration and data decompositions that minimize communication and load imbalance overheads in parallel programs targeted at NUMA architectures. One of the key ingredients in our approach is the representation of locality as a locality-communication graph (ICG) and the formulation of the compiler technique as a mixed integer nonlinear programming (MINLP) optimization problem on this graph. The objective function and constraints of the optimization problem model communication costs and load imbalance. The solution to this optimization problem is a decomposition that minimizes the parallel execution overhead. This paper summarizes the process of how the compiler extracts the locality information from a nonannotated code and focuses on how this compiler can derive the optimization problem, solve it, and generate the parallel code with the automatically selected iteration and data distributions. In addition, we include a discussion about our model and the solutions - the decompositions - that it provides. The approach presented in the paper is evaluated using several benchmarks. The experimental results demonstrate that the MINLP formulation does not increase compilation time significantly and that our framework generates very efficient iteration/data distributions for a variety of NUMA machines.
  • Keywords
    computational complexity; integer programming; multiprocessing systems; nonlinear programming; parallel architectures; parallel programming; parallelising compilers; resource allocation; NUMA architectures; computation distribution; constraints; data decompositions; data distribution; iteration; locality-communication graph; minimized communication overheads; minimized load imbalance overheads; mixed integer nonlinear programming optimization problem; nonannotated code; objective function; parallel programs; parallelizing compiler; Computer architecture; Concurrent computing; Constraint optimization; Control systems; Cost function; Data mining; Distributed computing; Operating systems; Optimizing compilers; Program processors;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2003.1206503
  • Filename
    1206503