Afficher la notice abrégée

dc.contributor.authorTHIBAULT, Samuel
dc.date2007-12-06
dc.date.accessioned2021-01-13T14:04:37Z
dc.date.available2021-01-13T14:04:37Z
dc.identifier.urihttps://oskar-bordeaux.fr/handle/20.500.12278/25719
dc.description.abstractLa tendance des constructeurs pour le calcul scientifique est à l'imbrication de technologies permettant un degré de parallélisme toujours plus fort au sein d'une même machine : architecture NUMA, puces multicoeurs, SMT. L'efficacité de l'exécution d'une application parallèle irrégulière sur de telles machines hiérarchiques repose alors sur la qualité de l'ordonnancement des tâches et du placement des données, pour éviter le plus possible les pénalités NUMA et les défauts de cache. Les systèmes d'exploitation actuels, pris au dépourvu car trop généralistes, laissent les concepteurs d'application contraints à « câbler » leurs programmes pour une machine donnée. Dans cette thèse, pour garantir une certaine portabilité des performances, nous définissons la notion de /bulle/ permettant d'exprimer la nature structurée du parallélisme du calcul, et nous modélisons l'architecture de la machine cible par une hiérarchie de listes de tâches. Une interface de programmation et des outils de débogage de haut niveau permettent alors de développer simplement des ordonnanceurs dédiés, efficaces et portables. Différents ordonnanceurs mettant en oeuvre des approches variées ont été développés, en partie notamment par des stagiaires encadrés au sein de l'équipe, ce qui montre à la fois la puissance et la simplicité de l'interface. C'est ainsi une véritable plate-forme de développement et d'expérimentation d'ordonnanceurs à bulles qui a été intégrée au sein de la bibliothèque de threads utilisateur marcel. Le support OpenMP du compilateur GCC, GOMP, a été étendu pour utiliser cette bibliothèque et exprimer la nature structurée des sections parallèles imbriquées à l'aide de bulles. Avec la couche de compatibilité POSIX de marcel, ces supports ont permis de tester les différents ordonnanceurs à bulles développés, sur différentes applications. Les gains obtenus, de l'ordre de 20 à 40%, montrent l'intérêt de notre approche.
dc.formatapplication/pdf
dc.languagefr
dc.rightsfree
dc.subjectInformatique
dc.subjectComputer Science
dc.subjectCalcul intensif
dc.subjectparallélisme
dc.subjectsupports d'exécution
dc.subjectthreads
dc.subjectmultiprocesseur
dc.subjectNUMA
dc.subjectmulticore
dc.titleOrdonnancement de processus legers sur architectures multiprocesseurs hierarchiques : BubbleSched, une approche exploitant la structure du parallelisme des applications
dc.typeThèses de doctorat
bordeaux.hal.laboratoriesThèses Bordeaux 1 Ori-Oai*
bordeaux.institutionUniversité de Bordeaux
bordeaux.COinSctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.title=Ordonnancement%20de%20processus%20legers%20sur%20architectures%20multiprocesseurs%20hierarchiques%20:%20BubbleSched,%20une%20approche%20exploitant%20la%20structure%20du%2&rft.atitle=Ordonnancement%20de%20processus%20legers%20sur%20architectures%20multiprocesseurs%20hierarchiques%20:%20BubbleSched,%20une%20approche%20exploitant%20la%20structure%20du%&rft.au=THIBAULT,%20Samuel&rft.genre=unknown


Fichier(s) constituant ce document

Thumbnail

Ce document figure dans la(les) collection(s) suivante(s)

Afficher la notice abrégée