2018
DOI: 10.1007/s11227-018-2238-4
|View full text |Cite
|
Sign up to set email alerts
|

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

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 ov… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
50
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 116 publications
(52 citation statements)
references
References 23 publications
0
50
0
Order By: Relevance
“…Benchmarks that employ parallel loops to expose parallelism have been configured to always use dynamic scheduling to perform well under heterogeneous configurations. Similarly, task-based parallelism which is increasingly common in HPC [29], also employs dynamic scheduling. When evaluating heterogeneous configurations we force the master thread to execute in an out-oforder core at all times.…”
Section: Experimental Methodologymentioning
confidence: 99%
“…Benchmarks that employ parallel loops to expose parallelism have been configured to always use dynamic scheduling to perform well under heterogeneous configurations. Similarly, task-based parallelism which is increasingly common in HPC [29], also employs dynamic scheduling. When evaluating heterogeneous configurations we force the master thread to execute in an out-oforder core at all times.…”
Section: Experimental Methodologymentioning
confidence: 99%
“…For complex computations such as the ones described herein, a higher level of abstraction is needed such as that of a task. The authors of [57] review APIs and runtime systems that are designed to support MTC applications. These authors refer to a particular combination of an API and a runtime system as a task-based parallelism technology and note that HPC is moving away from the message passing paradigm to such technologies.…”
Section: Methodsmentioning
confidence: 99%
“…As identified in [57], an ideal API would have the ability to partition, synchronize, and cancel tasks; specify compute nodes for workers to run on; start/stop workers; receive task or process fault information; and checkpoint a job should a nonrecoverable fault occur. These authors also believe that an ideal runtime system would automatically distribute data and code to workers; schedule workers; and deliver fault information to the master compute node.…”
Section: Methodsmentioning
confidence: 99%
“…There are several RS reported in the literature (Danalis et al, 2014;Kale & Krishnan, 1993;Perez, Badia & Labarta, 2008;Gautier et al, 2013;Bauer et al, 2012;Tillenius, 2015), and each of them has its own specificity and interface. We refer to a comparative study (Thoman et al, 2018) for a detailed description where the different aspects and features of RS are categorized. Task-based method is a viable solution to use modern heterogeneous computing nodes and mix computation between CPU and devices.…”
Section: Introductionmentioning
confidence: 99%