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

Saved in:
Bibliographic Details
Title: A Taxonomy of Task-Based Parallel Programming Technologies for High-Performance Computing
Authors: Peter Thoman, Kiril Dichev, Khalid Hasanov, Roman Iakymchuk, Xavier Aguilar, Thomas Heller, Philipp Gschwandtner, Pierre Lemarinier, Stefano Markidis, Herbert Jordan, Thomas Fahringer, Kostas Katrinis, Erwin Laure, Dimitrios~S. Nikolopoulos
Publisher Information: Zenodo
Publication Year: 2017
Collection: Zenodo
Subject Terms: High-performance computing, task-based parallelism, taxonomy, API, runtime system, scheduler, monitoring framework, fault tolerance
Description: 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.
Document Type: report
Language: English
Relation: https://zenodo.org/communities/eu/; https://zenodo.org/records/1119095; oai:zenodo.org:1119095; https://doi.org/10.5281/zenodo.1119095
DOI: 10.5281/zenodo.1119095
Availability: https://doi.org/10.5281/zenodo.1119095
https://zenodo.org/records/1119095
Rights: Creative Commons Attribution 4.0 International ; cc-by-4.0 ; https://creativecommons.org/licenses/by/4.0/legalcode
Accession Number: edsbas.FC5FF1F8
Database: BASE
Description
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.
DOI:10.5281/zenodo.1119095