De l’exécution structurée d’applications scientifiques OpenMP sur architectures hiérarchiques
Langue
fr
Thèses de doctorat
Date de soutenance
2010-12-09Spécialité
Informatique
École doctorale
École doctorale de mathématiques et informatique (Talence, Gironde)Résumé
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 ...Lire la suite >
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.< Réduire
Résumé en anglais
Abstract
Abstract< Réduire
Mots clés
Calcul hautes performances
Support d’exécution
OpenMP
Multicœur
Numa
Origine
Importé de STAR