• DocumentCode
    1301930
  • Title

    Abstractions for portable, scalable parallel programming

  • Author

    Alverson, Gail A. ; Griswold, William G. ; Lin, Calvin ; Notkin, David ; Snyder, Lawrence

  • Author_Institution
    Tera Comput. Co., Seattle, WA, USA
  • Volume
    9
  • Issue
    1
  • fYear
    1998
  • fDate
    1/1/1998 12:00:00 AM
  • Firstpage
    71
  • Lastpage
    86
  • Abstract
    In parallel programming, the need to manage communication, load imbalance, and irregularities in the computation puts substantial demands on the programmer. Key properties of the architecture, such as the number of processors and the cost of communication, must be exploited to achieve good performance, but coding these properties directly into a program compromises the portability and flexibility of the code because significant changes are then needed to port or enhance the program. We describe a parallel programming model that supports the concise, independent description of key aspects of a parallel program-including data distribution, communication, and boundary conditions-without reference to machine idiosyncrasies. The independence of such components improves portability by allowing the components of a program to be tuned independently, and encourages reuse by supporting the composition of existing components. The isolation of architecture-sensitive aspects of a computation simplifies the task of porting programs to new platforms. Moreover, the model is effective in exploiting both data parallelism and functional parallelism. This paper provides programming examples, compares this work to related languages, and presents performance results
  • Keywords
    encoding; parallel programming; resource allocation; boundary conditions; data distribution; load imbalance; parallel programming; performance results; Aggregates; Computer architecture; Computer science; Concurrent computing; Costs; Helium; Load management; Parallel processing; Parallel programming; Programming profession;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/71.655246
  • Filename
    655246