Dynamic task and data placement over NUMA architectures: An OpenMP runtime perspective

37Citations
Citations of this article
47Readers
Mendeley users who have this article in their library.
Get full text

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. © 2009 Springer.

Cite

CITATION STYLE

APA

Broquedis, F., Furmento, N., Goglin, B., Namyst, R., & Wacrenier, P. A. (2009). Dynamic task and data placement over NUMA architectures: An OpenMP runtime perspective. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5568 LNCS, pp. 79–92). https://doi.org/10.1007/978-3-642-02303-3_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free