• DocumentCode
    775246
  • Title

    The Design of OpenMP Tasks

  • Author

    Ayguadé, Eduard ; Copty, Nawal ; Duran, Alejandro ; Hoeflinger, Jay ; Lin, Yuan ; Massaioli, Federico ; Teruel, Xavier ; Unnikrishnan, Priya ; Zhang, Guansong

  • Author_Institution
    Dept. d´´Arquitectura de Computadors, Univ. Politec. de Catalunya, Barcelona, Spain
  • Volume
    20
  • Issue
    3
  • fYear
    2009
  • fDate
    3/1/2009 12:00:00 AM
  • Firstpage
    404
  • Lastpage
    418
  • Abstract
    OpenMP has been very successful in exploiting structured parallelism in applications. With increasing application complexity, there is a growing need for addressing irregular parallelism in the presence of complicated control structures. This is evident in various efforts by the industry and research communities to provide a solution to this challenging problem. One of the primary goals of OpenMP 3.0 is to define a standard dialect to express and efficiently exploit unstructured parallelism. This paper presents the design of the OpenMP tasking model by members of the OpenMP 3.0 tasking sub-committee which was formed for this purpose. The paper summarizes the efforts of the sub-committee (spanning over two years) in designing, evaluating and seamlessly integrating the tasking model into the OpenMP specification. In this paper, we present the design goals and key features of the tasking model, including a rich set of examples and an in-depth discussion of the rationale behind various design choices. We compare a prototype implementation of the tasking model with existing models, and evaluate it on a wide range of applications. The comparison shows that the OpenMP tasking model provides expressiveness, flexibility, and huge potential for performance and scalability.
  • Keywords
    application program interfaces; computational complexity; formal specification; parallel programming; systems analysis; OpenMP 3.0; OpenMP specification; OpenMP tasks; application complexity; shared-memory parallel programming; Concurrent; Concurrent Programming; Concurrent programming structures; and parallel languages; distributed;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2008.105
  • Filename
    4553700