A taxonomy of task-based parallel programming technologies for high-performance computing

Peter Thoman, Kiril Dichev, Thomas Heller, Roman Iakymchuk, Xavier Aguilar, Khalid Hasanov, Philipp Gschwandtner, Pierre Lemarinier, Stefano Markidis, Herbert Jordan, Thomas Fahringer, Kostas Katrinis, Erwin Laure, Dimitrios Nikolopoulos

Research output: Contribution to journalArticlepeer-review

47 Citations (Scopus)
298 Downloads (Pure)


Task-based programming models for shared memory - such as Cilk Plus and OpenMP 3 - are well established and documented. However, with the increase in parallel, many-core, and heterogeneous 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 (HPC), 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.
Original languageEnglish
Pages (from-to)1-13
JournalThe Journal of Supercomputing
Publication statusPublished - 12 Jan 2018


  • High-performance computing
  • Task-based parallelism
  • Taxonomy
  • API
  • Runtime system
  • Scheduler
  • Monitoring framework
  • Fault tolerance


Dive into the research topics of 'A taxonomy of task-based parallel programming technologies for high-performance computing'. Together they form a unique fingerprint.

Cite this