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

122 Citations (Scopus)
528 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