Skip to main content

A Runtime Implementation of OpenMP Tasks

  • Conference paper
OpenMP in the Petascale Era (IWOMP 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6665))

Included in the following conference series:

Abstract

Many task-based programming models have been developed and refined in recent years to support application development for shared memory platforms. Asynchronous tasks are a powerful programming abstraction that offer flexibility in conjunction with great expressivity. Research involving standardized tasking models like OpenMP and non-standardized models like Cilk facilitate improvements in many tasking implementations. While the asynchronous task is arguably a fundamental element of parallel programming, it is the implementation, not the concept, that makes all the difference with respect to the performance that is obtained by a program that is parallelized using tasks. There are many approaches to implementing tasking constructs, but few have also given attention to providing the user with some capabilities for fine tuning the execution of their code. This paper provides an overview of one OpenMP implementation, highlights its main features, discusses the implementation, and demonstrates its performance with user controlled runtime variables.

This material is based upon work supported by the National Science Foundation under Grant No. CCF-0833201 and Grant No. CCF-0917285, and the Texas Space Grant Consortium.

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. Chapel Specification 0.795 (April 2010)

    Google Scholar 

  2. Barcelona OpenMP Task Suite (January 2011), http://nanos.ac.upc.edu/content/barcelona-openmp-task-suite

  3. Augonnet, C., Thibault, S., Namyst, R.: StarPU: a runtime system for scheduling tasks over accelerator-based multicore machines (2010)

    Google Scholar 

  4. Ayguadé, E., Copty, N., Duran, A., Hoeflinger, J.P., Lin, Y., Massaioli, F., Su, E., Unnikrishnan, P., Zhang, G.: A proposal for task parallelism in OpenMP. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds.) IWOMP 2007. LNCS, vol. 4935, pp. 1–12. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  5. Chapman, B., Mehrotra, P., Rosendale, J.V., Zima, H.: A Software Architecture for Multidisciplinary Applications: Integrating Task and Data Parallelism. Technical Report 94-18, ICASE, MS 132C, NASA Langley Research Center (1994)

    Google Scholar 

  6. Chapman, B.M., Huang, L., Jin, H., Jost, G., de Supinski, B.R.: Toward enhancing OpenMP’s work-sharing directives. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds.) Euro-Par 2006. LNCS, vol. 4128, pp. 645–654. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Duran, A., Corbalán, J., Ayguadé, E.: An adaptive cut-off for task parallelism. In: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing, SC 2008, pp. 36:1–36:11(2008)

    Google Scholar 

  8. Duran, A., Corbalán, J., Ayguadé, E.: Evaluation of OpenMP task scheduling strategies. In: Eigenmann, R., de Supinski, B.R. (eds.) IWOMP 2008. LNCS, vol. 5004, pp. 100–110. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Duran, A., Teruel, X., Ferrer, R., et al.: Barcelona OpenMP Tasks Suite: A Set of Benchmarks Targeting the Exploitation of Task Parallelism in OpenMP. In: Proceedings of the 2009 ICPP, pp. 124–131 (2009)

    Google Scholar 

  10. Fatahalian, K., Horn, D., Knight, T., et al.: Sequoia: Programming the memory hierarchy. In: Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, p. 83. ACM, New York (2006)

    Chapter  Google Scholar 

  11. Foster, I.: Task parallelism and high-performance languages. In: The Data Parallel Programming Model, pp. 179–196 (1996)

    Google Scholar 

  12. Foster, I., Kesselman, C., Tuecke, S.: The Nexus task-parallel runtime system. In: Proc. 1st Intl Workshop on Parallel Processing, pp. 457–462. Tata McGraw Hill, New York (1994)

    Google Scholar 

  13. Frigo, M., Leiserson, C., Randall, K.: The implementation of the Cilk-5 multithreaded language. ACM SIGPLAN Notices 33(5), 212–223 (1998)

    Article  Google Scholar 

  14. Gross, T., O’Hallaron, D., Subhlok, J.: Task parallelism in a High Performance Fortran framework. IEEE Parallel and Distributed Technology 2(3), 16–26 (1994)

    Article  Google Scholar 

  15. Hernandez, O., Nanjegowda, R., Chapman, B., Bui, V., Kufrin, R.: Open Source Software Support for the OpenMP Runtime API for Profiling. In: ICPPW 2009, pp. 130–137. IEEE, Los Alamitos (2009)

    Google Scholar 

  16. Hernandez, O., Song, F., Chapman, B., et al.: Performance instrumentation and compiler optimizations for MPI/OpenMP applications. In: Second International Workshop on OpenMP (2006)

    Google Scholar 

  17. Kambadur, P., Gupta, A., Ghoting, A., Avron, H., Lumsdaine, A.: PFunc: modern task parallelism for modern high performance computing. In: SC 2009, pp. 43:1–43:11. ACM, New York (2009)

    Google Scholar 

  18. Korch, M., Rauber, T.: A comparison of task pools for dynamic load balancing of irregular algorithms. Concurrency and Computation: Practice and Experience 16(1), 1–47 (2004)

    Article  Google Scholar 

  19. Liao, C., Hernandez, O., Chapman, B., Chen, W., Zheng, W.: OpenUH: An optimizing, portable OpenMP compiler. In: 12th Workshop on Compilers for Parallel Computers (January 2006)

    Google Scholar 

  20. Libenzi, D.: Portable coroutine library, http://www.xmailserver.org/libpcl.html

  21. Nanjegowda, R., Hernandez, O., Chapman, B., Jin, H.: Scalability evaluation of barrier algorithms for OpenMP. Evolving OpenMP in an Age of Extreme Parallelism, 42–52 (2009)

    Google Scholar 

  22. The OpenUH Compiler Project (2011), http://www.cs.uh.edu/~openuh

  23. Saraswat, V.: Report on the experimental language X10 version 2.0.4. Technical report, IBM (June 2010)

    Google Scholar 

  24. Su, E., Tian, X., Girkar, M., Haab, G., Shah, S., Peterson, P.: Compiler support of the workqueing execution model for Intel SMP architectures. In: EWOMP (2002)

    Google Scholar 

  25. Supercomputing Technologies Group, MIT Laboratory for Computer Science. Cilk 5.3.1 Reference Manual (2000)

    Google Scholar 

  26. Van der Wijngaart, R., Jin, H.: NAS Parallel Benchmarks, Multi-Zone Versions. Technical Report NAS-03-010, NASA Advanced Supercomputer (NAS) Division NASA Ames Research Center (2003)

    Google Scholar 

  27. Weng, T.-H., Chapman, B.: Implementing OpenMP using dataflow execution model for data locality and efficient parallel execution. In: Proceedings of the 7th Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS-7), IEEE Computer Society Press, Los Alamitos (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

LaGrone, J., Aribuki, A., Addison, C., Chapman, B. (2011). A Runtime Implementation of OpenMP Tasks. In: Chapman, B.M., Gropp, W.D., Kumaran, K., Müller, M.S. (eds) OpenMP in the Petascale Era. IWOMP 2011. Lecture Notes in Computer Science, vol 6665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21487-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21487-5_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21486-8

  • Online ISBN: 978-3-642-21487-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics