Skip to main content

A Taxonomy of Task-Based Technologies for High-Performance Computing

  • Conference paper
  • First Online:
Parallel Processing and Applied Mathematics (PPAM 2017)

Abstract

Task-based programming models for shared memory – such as Cilk Plus and OpenMP 3 – are well established and documented. However, with the increase in heterogeneous, many-core and parallel systems, a number of research-driven projects have developed more diversified task-based support, employing various programming and runtime features. Unfortunately, despite the fact that dozens of different task-based systems exist today and are actively used for parallel and high-performance computing, no comprehensive overview or classification of task-based technologies for HPC exists.

In this paper, we provide an initial task-focused taxonomy for HPC technologies, which covers both programming interfaces and runtime mechanisms. We demonstrate the usefulness of our taxonomy by classifying state-of-the-art task-based environments in use today.

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 EPUB and 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

Notes

  1. 1.

    Note that we use the term “language” for Cilk and Cilk Plus, even though they build on C/C++. The reasoning is that a Cilk Plus compiler is strictly required for compilation (unlike e.g. OpenMP).

  2. 2.

    https://ec.europa.eu/research/participants/data/ref/h2020/wp/2014_2015/annexes/h2020-wp1415-annex-g-trl_en.pdf. Accessed: 2017-05-03.

  3. 3.

    http://starpu.gforge.inria.fr/doc/html/Scheduling.html#Energy-basedScheduling.

  4. 4.

    The AllScale EC-funded FET-HPC project: allscale.eu.

  5. 5.

    We received feedback from their developers.

References

  1. Bauer, M.E.: Legion: programming distributed heterogeneous architectures with logical regions. Ph.D. thesis, Stanford University (2014)

    Google Scholar 

  2. Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM (JACM) 46(5), 720–748 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  3. Cunningham, D.: Resilient X10: efficient failure-aware programming. In: Proceedings of PPoPP 2014, pp. 67–80. ACM (2014)

    Google Scholar 

  4. Dagum, L., Menon, R.: OpenMP: an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998)

    Article  Google Scholar 

  5. Duran, A., et al.: OmpSs: a proposal for programming heterogeneous multi-core architectures. Parallel Process. Lett. 21(02), 173–193 (2011)

    Article  MathSciNet  Google Scholar 

  6. Chamberlain, B.L., et al.: Parallel programmability and the chapel language. Int. J. HPC Appl. 21(3), 291–312 (2007)

    MathSciNet  Google Scholar 

  7. Augonnet, C., Thibault, S., Namyst, R.: Automatic calibration of performance models on heterogeneous multicore architectures. In: Lin, H.-X., Alexander, M., Forsell, M., Knüpfer, A., Prodan, R., Sousa, L., Streit, A. (eds.) Euro-Par 2009. LNCS, vol. 6043, pp. 56–65. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14122-5_9

    Chapter  Google Scholar 

  8. Augonnet, C., et al.: StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurr. Comput.: Pract. Exp. 23(2), 187–198 (2011)

    Article  Google Scholar 

  9. Bosilca, G., et al.: PaRSEC: exploiting heterogeneity to enhance scalability. Comput. Sci. Eng. 15(6), 36–45 (2013)

    Article  Google Scholar 

  10. Kaiser, H., et al.: HPX: a task based programming model in a global address space. In: PGAS 2014, p. 6. ACM (2014)

    Google Scholar 

  11. Kasim, H., March, V., Zhang, R., See, S.: Survey on parallel programming model. In: Cao, J., Li, M., Wu, M.-Y., Chen, J. (eds.) NPC 2008. LNCS, vol. 5245, pp. 266–275. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88140-7_24

    Chapter  Google Scholar 

  12. Paudel, J., et al.: On the merits of distributed work-stealing on selective locality-aware tasks. In: 42nd International Conference on Parallel Processing, pp. 100–109, October 2013

    Google Scholar 

  13. Planas, J., et al.: Self-adaptive OmpSs tasks in heterogeneous environments. In: IPDPS 2013, pp. 138–149. IEEE (2013)

    Google Scholar 

  14. Meyer, J.C., et al.: Implementation of an energy-aware OmpSs task scheduling policy. http://www.prace-ri.eu/IMG/pdf/wp88.pdf. Accessed 02 May 2017

  15. Huck, K., et al.: An early prototype of an autonomic performance environment for exascale. In: Proceedings of ROSS13, p. 8. ACM (2013)

    Google Scholar 

  16. Huck, K., et al.: An autonomic performance environment for exascale. Supercomput. Frontiers Innov. 2(3), 49–66 (2015)

    Google Scholar 

  17. Subasi, O., et al.: NanoCheckpoints: a task-based asynchronous dataflow framework for efficient and scalable checkpoint/restart. In: PDP 2015, pp. 99–102 (2015)

    Google Scholar 

  18. Charles, P., et al.: X10: an object-oriented approach to non-uniform cluster computing. In: Proceedings of OOPSLA 2005, pp. 519–538. ACM (2005)

    Google Scholar 

  19. Blumofe, R.D., et al.: Cilk: an efficient multithreaded runtime system. J. Parallel Distrib. Comput. 37(1), 55–69 (1996)

    Article  Google Scholar 

  20. Hukerikar, S., et al.: Opportunistic application-level fault detection through adaptive redundant multithreading. In: Proceedings of HPCS 2014, pp. 243–250 (2014)

    Google Scholar 

  21. General Acyclic Graphs of Tasks in TBB. https://software.intel.com/en-us/node/506110. Accessed 02 May 2017

  22. Hoemmen, M., Heroux, M.A.: Fault-tolerant iterative methods via selective reliability. In: Proceedings of SC 2011, p. 9. IEEE Computer Society (2011)

    Google Scholar 

  23. Kale, L.V., Krishnan, S.: Charm++: a portable concurrent object oriented system based on c++. In: OOSPLA 1993, pp. 91–108. ACM (1993)

    Google Scholar 

  24. Robison, A.D.: Composable parallel patterns with intel cilk plus. Comput. Sci. Eng. 15(2), 66–71 (2013)

    Article  Google Scholar 

  25. Willhalm, T., Popovici, N.: Putting Intel threading building blocks to work. In: IWMSE08, pp. 3–4. ACM (2008)

    Google Scholar 

Download references

Acknowledgement

This work was partially supported by the AllScale project that has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 671603.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Thoman .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Thoman, P. et al. (2018). A Taxonomy of Task-Based Technologies for High-Performance Computing. In: Wyrzykowski, R., Dongarra, J., Deelman, E., Karczewski, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2017. Lecture Notes in Computer Science(), vol 10778. Springer, Cham. https://doi.org/10.1007/978-3-319-78054-2_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-78054-2_25

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-78053-5

  • Online ISBN: 978-3-319-78054-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics