TY - JOUR
T1 - A taxonomy of task-based parallel programming technologies for high-performance computing
AU - Thoman, Peter
AU - Dichev, Kiril
AU - Heller, Thomas
AU - Iakymchuk, Roman
AU - Aguilar, Xavier
AU - Hasanov, Khalid
AU - Gschwandtner, Philipp
AU - Lemarinier, Pierre
AU - Markidis, Stefano
AU - Jordan, Herbert
AU - Fahringer, Thomas
AU - Katrinis, Kostas
AU - Laure, Erwin
AU - Nikolopoulos, Dimitrios
PY - 2018/1/12
Y1 - 2018/1/12
N2 - 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.
AB - 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.
KW - High-performance computing
KW - Task-based parallelism
KW - Taxonomy
KW - API
KW - Runtime system
KW - Scheduler
KW - Monitoring framework
KW - Fault tolerance
U2 - 10.1007/s11227-018-2238-4
DO - 10.1007/s11227-018-2238-4
M3 - Article
SN - 0920-8542
SP - 1
EP - 13
JO - The Journal of Supercomputing
JF - The Journal of Supercomputing
ER -