De l'exécution structurée d'applications scientifiques OpenMP sur les architectures hiérarchiques. - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2010

De l'exécution structurée d'applications scientifiques OpenMP sur les architectures hiérarchiques.

Résumé

Scientific applications, like the ones involving numerical simulations, keep requiring more and more processing power out of HPC platforms. These machines expose a constantly growing number of processing units, most of the time organized on a hierarchical fashion. Applications programmers need to express massive fine-grain parallelism to occupy all these cores and control its execution to exploit them at their full potential. Parallel programming environments like OpenMP usually ease the pain of the application programmer, providing him with ways of expressing structured parallelism in a portable way. However, while being a crucial element to achieve good performance on nowadays platforms, controlling the way OpenMP parallel regions are executed on a hierarchical multicore machine is still the burden of the programmer. This thesis introduces a runtime-level approach to apply efficient mappings of OpenMP threads in a dynamic and portable way. The associated software, called ForestGOMP, captures the structure of OpenMP applications and uses this information to schedule related threads over a subset of any hierarchical platform that shares different levels of memory (cache, NUMA bank, ...). Nested parallelism provides a way of structuring OpenMP parallelism, and the ForestGOMP runtime system implement several schedulers able to dynamically map this structure on any hierarchical set of cores of any shared-memory platform, demonstrating the interest of a strong communication between the application and the runtime system to achieve portability of performance.
Le domaine applicatif de la simulation numérique requiert toujours plus de puissance de calcul. La technologie multicœur aide à satisfaire ces besoins mais impose toutefois de nouvelles contraintes aux programmeurs d'applications scientifiques qu'ils devront respecter s'ils souhaitent en tirer la quintessence. En particulier, il devient plus que jamais nécessaire de structurer le parallélisme des applications pour s'adapter au relief imposé par la hiérarchie mémoire des architectures multicœurs. Les approches existantes pour les programmer ne tiennent pas compte de cette caractéristique, et le respect de la structure du parallélisme reste à la charge du programmeur. Il reste de ce fait très difficile de développer une application qui soit à la fois performante et portable.La contribution de cette thèse s'articule en trois axes. Il s'agit dans un premier temps de s'appuyer sur le langage OpenMP pour générer du parallélisme structuré, et de permettre au programmeur de transmettre cette structure au support exécutif ForestGOMP. L'exécution structurée de ces flots de calcul est ensuite laissée aux ordonnanceurs Cacheet Memory développés au cours de cette thèse, permettant respectivement de maximiser la réutilisation des caches partagés et de maximiser la bande passante mémoire accessible par les programmes OpenMP. Enfin, nous avons étudié la composition de ces ordonnanceurs, et plus généralement de bibliothèques parallèles, en considérant cette voie comme une piste sérieuse pour exploiter efficacement les multiples unités de calcul des architectures multicœurs.Les gains obtenus sur des applications scientifiques montrent l'intérêt d'une communication forte entre l'application et le support exécutif, permettant l'ordonnancement dynamique et portable de parallélisme structuré sur les architectures hiérarchiques.
Fichier principal
Vignette du fichier
BROQUEDIS_FRANCOIS_2010.pdf (817.04 Ko) Télécharger le fichier
Loading...

Dates et versions

tel-00793472 , version 1 (22-02-2013)

Identifiants

  • HAL Id : tel-00793472 , version 1

Citer

François Broquedis. De l'exécution structurée d'applications scientifiques OpenMP sur les architectures hiérarchiques.. Calcul parallèle, distribué et partagé [cs.DC]. Université Sciences et Technologies - Bordeaux I, 2010. Français. ⟨NNT : ⟩. ⟨tel-00793472⟩
230 Consultations
687 Téléchargements

Partager

Gmail Facebook X LinkedIn More