Abstract
OpenMP is widely used for shared memory parallel programming and is especially useful for the parallelisation of loops. When it comes to task parallelism, however, OpenMP is less powerful and the sections construct lacks support for dependences and fine grained tasks. This paper proposes a new work-sharing construct, tasks, which is a generalisation of sections. It goes beyond sections by allowing unbalanced and finer grained tasks with arbitrary dependence structure. A proof-of-concept compiler has been implemented for the new directives, which includes a state-of-the-art scheduling algorithm for task graphs. Experiments with a large set of programs were conducted using the new directives. The results demonstrate that the new approach can efficiently exploit the task parallelism inherent in the code, without introducing any additional overhead.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
OpenMP Application Program Interface, http://www.openmp.org/specs/
Bull, J.M., Westhead, M.D., Kambites, M.E., Obdržálek, J.: Towards OpenMP for Java. In: Proc. of 2nd European Workshop on OpenMP, Edinburgh, UK, September 2000, pp. 98–105 (2000)
Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman (1979)
Hu, T.: Parallel sequencing and assembly line problems. Operations Research 9(6), 841–848 (1961)
Kambites, M.E., Obdržálek, J., Bull, J.M.: An OpenMP-like interface for parallel programming in Java. Concurrency and Computation: Practice and Experience 13(8-9), 793–814 (2001)
Kwok, Y.-K., Ahmad, I.: Benchmarking the task graph scheduling algorithms. In: Proc. of Int. Par. Processing Symposium/Symposium on Par. and Distributed Processing (IPPS/SPDP 1998), Orlando, Florida, USA, April 1998, pp. 531–537 (1998)
Kwok, Y.-K., Ahmad, I.: A comparison of parallel search-based algorithms for multiprocessors scheduling. In: Proc. of the 2nd European Conference on Parallel and Distributed Systems (EUROPDS 1998), Vienna, Austria (July 1998)
Shah, S., Haab, G., Petersen, P., Throop, J.: Flexible control structures for parallelism in OpenMP. Concurrency: Practice and Experience 12(12), 1219–1239 (2000); Special Issue: EWOMP 1999 - First European Workshop on OpenMP
Sinnen, O.: Task Scheduling for Parallel Systems. Wiley, Chichester (2007)
Sinnen, O., Kozlov, A.V., Semar Shahul, A.Z.: Optimal scheduling of task graphs on parallel systems. In: Proc. Int. Conference on Parallel and Distributed Computing and Networks, Innsbruck, Austria (February 2007)
Su, E., Tian, X., Girkar, M., Haab, G., Shah, S., Petersen, P.: Compiler support for workqueuing execution model for Intel SMP architectures. In: Proc. of European Workshop on OpenMP (EWOMP) (September 2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sinnen, O., Pe, J., Kozlov, A.V. (2008). Support for Fine Grained Dependent Tasks in OpenMP. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds) A Practical Programming Model for the Multi-Core Era. IWOMP 2007. Lecture Notes in Computer Science, vol 4935. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69303-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-69303-1_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69302-4
Online ISBN: 978-3-540-69303-1
eBook Packages: Computer ScienceComputer Science (R0)