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)

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 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
DOIs
Publication statusPublished - 12 Jan 2018

Keywords

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

Fingerprint

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