• DocumentCode
    1341072
  • Title

    A transformation approach to derive efficient parallel implementations

  • Author

    Rauber, Thomas ; Rünger, Gudula

  • Author_Institution
    Inst. fur Inf., Univ. Halle-Wittenberg, Germany
  • Volume
    26
  • Issue
    4
  • fYear
    2000
  • fDate
    4/1/2000 12:00:00 AM
  • Firstpage
    315
  • Lastpage
    339
  • Abstract
    The construction of efficient parallel programs usually requires expert knowledge in the application area and a deep insight into the architecture of a specific parallel machine. Often, the resulting performance is not portable, i.e., a program that is efficient on one machine is not necessarily efficient on another machine with a different architecture. Transformation systems provide a more flexible solution. They start with a specification of the application problem and allow the generation of efficient programs for different parallel machines. The programmer has to give an exact specification of the algorithm expressing the inherent degree of parallelism and is released from the low-level details of the architecture. We propose such a transformation system with an emphasis on the exploitation of the data parallelism combined with a hierarchically organized structure of task parallelism. Starting with a specification of the maximum degree of task and data parallelism, the transformations generate a specification of a parallel program for a specific parallel machine. The transformations are based on a cost model and are applied in a predefined order, fixing the most important design decisions like the scheduling of independent multitask activations, data distributions, pipelining of tasks, and assignment of processors to task activations. We demonstrate the usefulness of the approach with examples from scientific computing
  • Keywords
    bibliographies; formal specification; message passing; parallel machines; parallel programming; application area; cost model; data distributions; data parallelism; design decisions; exact specification; expert knowledge; hierarchically organized structure; independent multitask activations; parallel implementations; parallel machine; parallel machines; parallel program design; predefined order; processor assignment; scientific computing; task activations; task parallelism; task pipelining; transformation approach; transformation systems; Computer architecture; Costs; Message passing; Microprocessors; Parallel machines; Parallel processing; Pipeline processing; Processor scheduling; Programming profession; Scientific computing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.844492
  • Filename
    844492