Issue No. 03 - March (2009 vol. 20)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2008.105
Eduard Ayguadé , Universitat Politècnica de Catalunya, Barcelona Supercomputing Center, Barcelona
Nawal Copty , SUN Microsystems, Inc., Santa Clara
Alejandro Duran , Universitat Politècnica de Catalunya, Barcelona Supercomputing Center, Barcelona
Jay Hoeflinger , Intel, Champaign
Yuan Lin , SUN Microsystems, Inc., Santa Clara
Federico Massaioli , CASPUR, Rome
Xavier Teruel , Universitat Politècnica de Catalunya, Barcelona Supercomputing Center, Barcelona
Priya Unnikrishnan , IBM, Toronto
Guansong Zhang , IBM, Toronto
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.
Concurrent, distributed, and parallel languages, Concurrent Programming, Concurrent programming structures
N. Copty et al., "The Design of OpenMP Tasks," in IEEE Transactions on Parallel & Distributed Systems, vol. 20, no. , pp. 404-418, 2008.