Skip to main content

Support for Fine Grained Dependent Tasks in OpenMP

  • Conference paper
A Practical Programming Model for the Multi-Core Era (IWOMP 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4935))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OpenMP Application Program Interface, http://www.openmp.org/specs/

  2. 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)

    Google Scholar 

  3. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman (1979)

    Google Scholar 

  4. Hu, T.: Parallel sequencing and assembly line problems. Operations Research 9(6), 841–848 (1961)

    Article  MathSciNet  Google Scholar 

  5. 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)

    Article  MATH  Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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

    Article  MATH  Google Scholar 

  9. Sinnen, O.: Task Scheduling for Parallel Systems. Wiley, Chichester (2007)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Barbara Chapman Weiming Zheng Guang R. Gao Mitsuhisa Sato Eduard Ayguadé Dongsheng Wang

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics