Dynamic Task and Data Placement over NUMA Architectures: An OpenMP Runtime Perspective

  • Authors:
  • François Broquedis;Nathalie Furmento;Brice Goglin;Raymond Namyst;Pierre-André Wacrenier

  • Affiliations:
  • University of Bordeaux,;CNRS LaBRI, Talence F-33405;INRIA,;University of Bordeaux,;University of Bordeaux,

  • Venue:
  • IWOMP '09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Exploiting the full computational power of current hierarchical multiprocessor machines requires a very careful distribution of threads and data among the underlying non-uniform architecture so as to avoid memory access penalties. Directive-based programming languages such as OpenMPprovide programmers with an easy way to structure the parallelism of their application and to transmit this information to the runtime system. Our runtime, which is based on a multi-level thread scheduler combined with a NUMA-aware memory manager, converts this information into "scheduling hints" to solve thread/memory affinity issues. It enables dynamic load distribution guided by application structure and hardware topology, thus helping to achieve performance portability. First experiments show that mixed solutions (migrating threads and data) outperform next-touch -based data distribution policies and open possibilities for new optimizations.