Thèse soutenue

Exploitation Efficace de l'Asynchronisme de Tâche pour les Applications Parallèles HPC
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Romain Pereira
Direction : Thierry Gautier
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 27/11/2023
Etablissement(s) : Lyon, École normale supérieure
Ecole(s) doctorale(s) : École doctorale en Informatique et Mathématiques de Lyon
Partenaire(s) de recherche : Laboratoire : Laboratoire de l'informatique du parallélisme (Lyon ; 1988-....) - Algorithms and Software Architectures for Distributed and HPC Platforms
. : Commissariat à l'énergie atomique et aux énergies alternatives (France)
Jury : Président / Présidente : Christophe Cérin
Examinateurs / Examinatrices : Thierry Gautier, Christophe Cérin, Raymond Namyst, Camille Coti, Adrien Roussel, Patrick Carribault, Elisabeth Brunet, Frédéric Desprez
Rapporteurs / Rapporteuses : Raymond Namyst, Camille Coti

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

La simulation numérique est un outil puissant pour la recherche scientifique et l'industrie, qui est considéré comme le troisième pilier de la Science par les scientifiques. Le Calcul Haute-Performance (HPC) est la science d'améliorer les performances des ordinateurs pour subvenir aux besoins de la simulation numérique. Son objet d'étude est le supercalculateur : un ensemble de nœud de calcul interconnectées en réseau, chacun composé de processeurs contribuant en parallèle à la simulation.Depuis plusieurs décennies, les superordinateurs évoluent rapidement, on observe une augmentation et une diversification des unités de calcul au sein des nœuds. En conséquence, programmer des codes de simulations numériques portables et performants entre les générations de machines devient un challenge. Pour y répondre, les vendeurs de matériel et les laboratoires scientifiques conçoivent des modèles de programmation standard tel que « The Message Passing Interface (MPI) » ou « Open Multi-Processing (OpenMP) ». Ces modèles servent de pont entre l'expression d'un calcul scientifique par un code informatique, et son exploitation par le matériel sous-jacent. La diversification du matériel poussent les programmeurs à utiliser conjointement (ou «~composer~») de multiples modèles de programmations asynchrones afin d'utiliser toutes les unités de calcul du supercalculateur de façon concurrente. La composition de modèles asynchrones présente des difficultés pour le profilage des applications, leur programmation, et leur niveau de performances. Dans cette thèse, nous étudions la composition par tâche des modèles de programmation MPI et OpenMP, et apportons les contributions suivantes en réponse à ces difficultés.Premièrement, nous présentons un modèle de performance unifié par tâche pour l'hybridation MPI+OpenMP, en définissant des métriques et implémentant un profileur avec analyse post-mortem pour les supports d'exécution. Puis, nous concevons un ordonnanceur unifiant la progression et le recouvrement d'opération asynchrones et hétérogènes, comme les transfers mémoires par le réseau, les tâches de calculs, ou les transferts mémoires/calculs sur accélérateurs. Finalement, nous évaluons et améliorons l'hybridation par tâche sur des proxy-applications modélisant des simulations scientifiques ; en caractérisant et atténuant des goulots d'étranglements aux performances tel que l'ordonnancement des communications, la limitation du nombre de tâche en vol, ou la découverte du graphe de dépendances.