Approaches for Task Affinity in OpenMP
Approaches for Task Affinity in OpenMP. In Proceedings of IWOMP 2016. 12th International Workshop on OpenMP. (p. 102-115). Nara, JAPAN.
Facing design issues for task affinity in OpenMP. Exploring and evaluating several approaches using Nanos++ and LLVM OpenMP runtimes.
OpenMP tasking supports parallelization of irregular algorithms. Recent OpenMP specifications extended tasking to increase functionality and to support optimizations, for instance with the taskloop construct. However, task scheduling remains opaque, which leads to inconsistent performance on NUMA architectures. We assess design issues for task affinity and explore several approaches to enable it.
We evaluate these proposals with implementations in the Nanos++ and LLVM OpenMP runtimes that improve performance up to 40% and significantly reduce execution time variation.