Abstract
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.
Similar content being viewed by others
References
OpenMP Architecture Review Board. OpenMP 3.0 Specification. http://www.openmp.org, May 2008
Shah, S., Haab, G., Petersen, P., Throop, J.: Flexible control structures for parallelism in OpenMP. In 1st European Workshop on OpenMP, September 1999
Balart, J., Duran, A., Gonzàlez, M., Martorell, X., Ayguadé, E. Labarta, J.: Nanos mercurium: a research compiler for openMP. In Proceedings of the European Workshop on OpenMP 2004, October 2004
Rinard M.C., Scales D.J., Lam M.S.: Jade: A high-level, machine-independent language for parallel programming. Computer 26(6), 28–38 (1993)
Perez, J.M., Badia, R.M., Labarta, J.: A dependency-aware task-based programming environment for multi-core architectures. In IEEE Cluster 2008 (2008)
Chan, E., van Zee, F.G., Quintana-Ortí, E.S., Quintana-Ortí, G., van de Geijn, R.: Satisfying your dependencies with supermatrix. In IEEE International Conference on Cluster 2007 (2007)
Gonzàlez, M., Ayguadé, E., Martorell, X., Labarta, J.: Exploiting pipelined executions in OpenMP. In 32nd Annual International Conference on Parallel Processing (ICPP’03), October 2003
Sinnen, O., Pe, J., Kozlov, A.: Support for fine grained dependent tasks in OpenMP. In 3rd International Workshop on OpenMP (IWOMP’07) (2007)
Ayguadé, E., Copty, N., Duran, A., Hoeflinger, J., Lin, Y., Massaioli, F., Unnikrishnan, P., Zhang, G.: A proposal for task parallelism in OpenMP. In 3rd International Workshop on OpenMP (IWOMP’07) (2007)
Pham, D., Asano, S., Bolliger, M., Day, M.N., Hofstee, H.P., Johns, C., Kahle, J., et al.: The design and implementation of a first-generation cell processor. In IEEE International Solid-State Circuits Conference (ISSCC 2005) (2005)
Bellens, P., Perez, J.M., Badia, R.M., Labarta, J.: CellSs: a programming model for the Cell BE architecture. In Proceedings of the ACM/IEEE SC 2006 Conference, November 2006
Ayguadé, E., Duran, A., Hoeflinger, J., Massaioli, F., Teruel, X.: An experimental evaluation of the new openMP tasking model. In Proceedings of the 20th International Workshop on Languages and Compilers for Parallel Computing, October 2007
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Duran, A., Ferrer, R., Ayguadé, E. et al. A Proposal to Extend the OpenMP Tasking Model with Dependent Tasks. Int J Parallel Prog 37, 292–305 (2009). https://doi.org/10.1007/s10766-009-0101-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-009-0101-1