Thèse soutenue

Compilation des langages a parallelisme de donnees : gestion de l'equilibrage de charge par un executif a base de processus legers

FR
Auteur / Autrice : Christian Pérez
Direction : Luc Bougé
Type : Thèse de doctorat
Discipline(s) : Sciences et techniques
Date : Soutenance en 1999
Etablissement(s) : Lyon, École normale supérieure (sciences)

Résumé

FR

Les langages a parallelisme de donnees offrent une opportunite d'ecrire des programmes paralleles ne dependant pas d'un modele particulier d'architectures. Ils permettent ainsi une meilleurs portabilite des applications. Cependant, ils offrent peu de support pour les problemes d'equilibrage de charge. Dans le langage high performance fortran, l'utilisateur doit explicitement utiliser des redistributions de donnees. Ces redistribution sont des operations couteuses et il n'a pas de moyen standard de prendre en compte l'heterogeneite des machines et des reseaux. La contribution de cette these est de proposer et de mettre en uvre une solution qui permette d'integrer les politiques d'equilibrage de charge generiques a l'execution de programme a parallelisme de donnees. L'interface est realisee en considerant les programmes a parallelisme de donnees comme un ensemble d'activites communicantes de grain moyen. L'integration est realisee sans interference avec le code utilisateur grace aux politiques d'equilibrage de charge non intrusives. Pour notre part, nous devons permettre aux activites d'etre deplacees preemptivement. Notre choix a ete d'implanter les activites par des processus legers. Les raisons ont ete la possibilite d'une mise en uvre rapide et les performances que permettent les processus legers. La derniere raison a ete l'existence d'environnements fournissant la migration de processus legers comme pm2. Nous avons implante la proposition dans un compilateur hpf (adaptor) et un compilateur cstar (unh-cstar). Ces deux implantations ont necessite essentiellement des modifications de l'executif mais aussi du compilateur source a source pour cstar. Enfin, nous avons valide la proposition ainsi que la chaine de compilation sur quatre noyaux applications : le pivot partiel de gauss, l'application de mandelbrot, une simulation de combustion et une application d'imagerie (les dividing cubes). Les mesures realisees montrent la pertinence de la proposition.