A Proposal to Extend the OpenMP Tasking Model with Dependent Tasks

Tasking in OpenMP 3.0 has been conceived to handle the dynamic generation of unstructured parallelism. New directives have been added allowing the user to identify units of independent work (tasks) and to define points to wait for the completion of tasks (task barriers). In this document we propose extensions to allow the runtime detection of dependencies between generated tasks, broading the range of applications that can benefit from tasking or improving the performance when load balancing or locality are critical issues for performance. The proposed extensions are evaluated on a SGI Altix multiprocessor architecture using a couple of small applications and a prototype runtime system implementation.

[1]  Oliver Sinnen,et al.  Support for Fine Grained Dependent Tasks in OpenMP , 2007, IWOMP.

[2]  S. Asano,et al.  The design and implementation of a first-generation CELL processor , 2005, ISSCC. 2005 IEEE International Digest of Technical Papers. Solid-State Circuits Conference, 2005..

[3]  Eduard Ayguadé,et al.  Nanos mercurium: A research compiler for OpenMP , 2004 .

[4]  M. Gonzalez,et al.  Exploiting pipelined executions in OpenMP , 2003, 2003 International Conference on Parallel Processing, 2003. Proceedings..

[5]  Paul Petersen,et al.  Flexible control structures for parallelism in OpenMP , 2000, Concurr. Pract. Exp..

[6]  Jesús Labarta,et al.  A dependency-aware task-based programming environment for multi-core architectures , 2008, 2008 IEEE International Conference on Cluster Computing.

[7]  Alejandro Duran,et al.  An Experimental Evaluation of the New OpenMP Tasking Model , 2007, LCPC.

[8]  Robert A. van de Geijn,et al.  Satisfying your dependencies with SuperMatrix , 2007, 2007 IEEE International Conference on Cluster Computing.

[9]  Monica S. Lam,et al.  Jade: a high-level, machine-independent language for parallel programming , 1993, Computer.

[10]  Alejandro Duran,et al.  A Proposal for Task Parallelism in OpenMP , 2007, IWOMP.

[11]  Rosa M. Badia,et al.  CellSs: a Programming Model for the Cell BE Architecture , 2006, ACM/IEEE SC 2006 Conference (SC'06).