inria-00329934, version 1
Scheduling Dynamic OpenMP Applications over Multicore Architectures
François Broquedis
1, 2François Diakhate
1, 2, 3Samuel Thibault
1, 2Olivier Aumage
1, 2Raymond Namyst 1, 2Pierre-André Wacrenier 1, 2
International Workshop on OpenMP (2008)
Résumé : Approaching the theoretical performance of hierarchical multicore machines requires a very careful distribution of threads and data among the underlying non-uniform architecture in order to minimize cache misses and NUMA penalties. While it is acknowledged that OpenMP can enhance the quality of thread scheduling on such architectures in a portable way, by transmitting precious information about the affinities between threads and data to the underlying runtime system, most OpenMP runtime systems are actually unable to efficiently support highly irregular, massively parallel applications on NUMA machines. In this paper, we present a thread scheduling policy suited to the execution of OpenMP programs featuring irregular and massive nested parallelism over hierarchical architectures. Our policy enforces a distribution of threads that maximizes the proximity of threads belonging to the same parallel section, and uses a NUMA-aware work stealing strategy when load balancing is needed. It has been developed as a plug-in to the ForestGOMP OpenMP platform. We demonstrate the efficiency of our approach with a highly irregular recursive OpenMP program resulting from the generic parallelization of a surface reconstruction application. We achieve a speedup of 14 on a 16-core machine with no application-level optimization.
- 1 : Laboratoire Bordelais de Recherche en Informatique (LaBRI)
- CNRS : UMR5800 – Université Sciences et Technologies - Bordeaux I – Ecole Nationale Supérieure d'Electronique, Informatique et Radiocommunications de Bordeaux – Université Victor Segalen - Bordeaux II
- 2 : RUNTIME (INRIA Bordeaux - Sud-Ouest)
- INRIA – CNRS : UMR5800 – Université Sciences et Technologies - Bordeaux I – Ecole Nationale Supérieure d'Electronique, Informatique et Radiocommunications de Bordeaux
- 3 : Direction des applications militaires (CEA/DAM)
- CEA
- Domaine : Informatique/Calcul parallèle, distribué et partagé
- Mots-clés : OpenMP – Nested Parallelism – Hierarchical Thread Scheduling – Bubbles – Multi-Core – NUMA – SMP
- inria-00329934, version 1
- http://hal.inria.fr/inria-00329934
- oai:hal.inria.fr:inria-00329934
- Contributeur : Samuel Thibault
- Soumis le : Lundi 13 Octobre 2008, 16:34:46
- Dernière modification le : Lundi 27 Octobre 2008, 18:23:13






Documents associés
Exporter