Title
Assessing Task-to-Data Affinity in the LLVM OpenMP Runtime.
Abstract
In modern shared-memory NUMA systems which typically consist of two or more multi-core processor packages with local memory, affinity of data to computation is crucial for achieving high performance with an OpenMP program. OpenMP* 3.0 introduced support for task-parallel programs in 2008 and has continued to extend its applicability and expressiveness. However, the ability to support data affinity of tasks is missing. In this paper, we investigate several approaches for task-to-data affinity that combine locality-aware task distribution and task stealing. We introduce the task affinity clause that will be part of OpenMP 5.0 and provide the reasoning behind its design. Evaluation with our experimental implementation in the LLVM OpenMP runtime shows that task affinity improves execution performance up to 4.5x on an 8-socket NUMA machine and significantly reduces runtime variability of OpenMP tasks. Our results demonstrate that a variety of applications can benefit from task affinity and that the presented clause is closing the gap of task-to-data affinity in OpenMP 5.0.
Year
DOI
Venue
2018
10.1007/978-3-319-98521-3_16
Lecture Notes in Computer Science
Keywords
Field
DocType
OpenMP,OpenMP tasks,Task affinity,Task scheduling,Work stealing
Computer science,Parallel computing,Work stealing,Expressivity,Computation
Conference
Volume
ISSN
Citations 
11128
0302-9743
0
PageRank 
References 
Authors
0.34
8
9
Name
Order
Citations
PageRank
Jannis Klinkenberg152.07
Philipp Samfass2123.65
Christian Terboven323825.87
Alejandro Duran494361.43
Michael Klemm516015.52
Xavier Teruel611.09
Sergi Mateo784.99
Olivier, Stephen L.825418.08
Matthias S. Müller946357.74