Description, Implementation and Evaluation of an Affinity Clause for Task Directives

Abstract : OpenMP 4.0 introduced dependent tasks, which give the programmer a way to express fine grain parallelism. Using appropriate OS support (such as NUMA libraries), the runtime can rely on the information in the depend clause to dynamically map the tasks to the architecture topology. Controlling data locality is one of the key factors to reach a high level of performance when targeting NUMA architectures. On this topic, OpenMP does not provide a lot of flexibility to the programmer yet, which lets the runtime decide where a task should be executed. In this paper, we present a class of applications which would benefit from having such a control and flexibility over tasks and data placement. We also propose our own interpretation of the new affinity clause for the task directive, which is being discussed by the OpenMP Architecture Review Board. This clause enables the programmer to give hints to the runtime about tasks placement during the program execution, which can be used to control the data mapping on the architecture. In our proposal, the programmer can express affinity between a task and the following resources: a thread, a NUMA node, and a data. We then present an implementation of this proposal in the Clang-3.8 compiler, and an implementation of the corresponding extensions in our OpenMP runtime LIBKOMP. Finally , we present a preliminary evaluation of this work running two task-based OpenMP kernels on a 192-core NUMA architecture, that shows noticeable improvements both in terms of performance and scalability.
Complete list of metadatas

Cited literature [12 references]  Display  Hide  Download

https://hal.inria.fr/hal-01343442
Contributor : Philippe Virouleau <>
Submitted on : Friday, July 8, 2016 - 2:23:26 PM
Last modification on : Thursday, February 7, 2019 - 3:47:43 PM

File

iwomp2016.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01343442, version 1

Citation

Philippe Virouleau, Adrien Roussel, François Broquedis, Thierry Gautier, Fabrice Rastello, et al.. Description, Implementation and Evaluation of an Affinity Clause for Task Directives. IWOMP 2016, Oct 2016, Nara, Japan. ⟨hal-01343442⟩

Share

Metrics

Record views

780

Files downloads

422