Advertisement

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

  • Peter ThomanEmail author
  • Khalid Hasanov
  • Kiril Dichev
  • Roman Iakymchuk
  • Xavier Aguilar
  • Philipp Gschwandtner
  • Pierre Lemarinier
  • Stefano Markidis
  • Herbert Jordan
  • Erwin Laure
  • Kostas Katrinis
  • Dimitrios S. Nikolopoulos
  • Thomas Fahringer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10778)

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.

Keywords

Task-based parallelism Taxonomy API Runtime system Scheduler Monitoring framework Fault tolerance 

Notes

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.

References

  1. 1.
    Bauer, M.E.: Legion: programming distributed heterogeneous architectures with logical regions. Ph.D. thesis, Stanford University (2014)Google Scholar
  2. 2.
    Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM (JACM) 46(5), 720–748 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Cunningham, D.: Resilient X10: efficient failure-aware programming. In: Proceedings of PPoPP 2014, pp. 67–80. ACM (2014)Google Scholar
  4. 4.
    Dagum, L., Menon, R.: OpenMP: an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998)CrossRefGoogle Scholar
  5. 5.
    Duran, A., et al.: OmpSs: a proposal for programming heterogeneous multi-core architectures. Parallel Process. Lett. 21(02), 173–193 (2011)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Chamberlain, B.L., et al.: Parallel programmability and the chapel language. Int. J. HPC Appl. 21(3), 291–312 (2007)MathSciNetGoogle Scholar
  7. 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 CrossRefGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Bosilca, G., et al.: PaRSEC: exploiting heterogeneity to enhance scalability. Comput. Sci. Eng. 15(6), 36–45 (2013)CrossRefGoogle Scholar
  10. 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. 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 CrossRefGoogle Scholar
  12. 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 2013Google Scholar
  13. 13.
    Planas, J., et al.: Self-adaptive OmpSs tasks in heterogeneous environments. In: IPDPS 2013, pp. 138–149. IEEE (2013)Google Scholar
  14. 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. 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. 16.
    Huck, K., et al.: An autonomic performance environment for exascale. Supercomput. Frontiers Innov. 2(3), 49–66 (2015)Google Scholar
  17. 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. 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. 19.
    Blumofe, R.D., et al.: Cilk: an efficient multithreaded runtime system. J. Parallel Distrib. Comput. 37(1), 55–69 (1996)CrossRefGoogle Scholar
  20. 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. 21.
    General Acyclic Graphs of Tasks in TBB. https://software.intel.com/en-us/node/506110. Accessed 02 May 2017
  22. 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. 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. 24.
    Robison, A.D.: Composable parallel patterns with intel cilk plus. Comput. Sci. Eng. 15(2), 66–71 (2013)CrossRefGoogle Scholar
  25. 25.
    Willhalm, T., Popovici, N.: Putting Intel threading building blocks to work. In: IWMSE08, pp. 3–4. ACM (2008)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Peter Thoman
    • 1
    Email author
  • Khalid Hasanov
    • 2
  • Kiril Dichev
    • 3
  • Roman Iakymchuk
    • 4
  • Xavier Aguilar
    • 4
  • Philipp Gschwandtner
    • 1
  • Pierre Lemarinier
    • 2
  • Stefano Markidis
    • 4
  • Herbert Jordan
    • 1
  • Erwin Laure
    • 4
  • Kostas Katrinis
    • 2
  • Dimitrios S. Nikolopoulos
    • 3
  • Thomas Fahringer
    • 1
  1. 1.University of InnsbruckInnsbruckAustria
  2. 2.IBM IrelandDublinIreland
  3. 3.Queen’s University of BelfastBelfastUK
  4. 4.KTH Royal Institute of TechnologyStockholmSweden

Personalised recommendations