Outils

Agenda de l'ENS de Lyon

Exploitation Efficace de l'Asynchronisme de Tâche pour les Applications Parallèles HPC

Date
lun 27 nov 2023
Horaires

14 heures

Lieu(x)

Amphi E

Intervenant(s)

Soutenance de thèse de Monsieur PEREIRA Romain. Sous la direction de Monsieur GAUTIER Thierry.

Organisateur(s)
Langue(s) des interventions
Description générale

Les simulations numériques sont un outil puissant pour la recherche scientifique et l’industrie, considéré comme le troisième pillier de la Science par les scientifique. Le Calcul Haute-Performance (HPC) est la science d’améliorer les performances des ordinateurs pourr subvenir aux besoins de la simulation numérique. Son objet d’étude est le supercalculateur : un ensemble de machines (ou « noeud de calcul ») interconnectées en réseau, chacunes composé de processeurs contribuant en parallèle à la simulation. Depuis plusieurs décenneries, les superordinateurs évoluent rapidement; on observe une augmentation et une diversification des unités de calcul au sein d’un noeud, avec une diminution de la mémoire disponible par unité. En conséquence, programmer des codes de simulations numériques portable entre les générations de machines, tout en exploitant pleinement les unités de calcul disponibles est un challenge. Pour y répondre, les vendeurs de matériel et les programmeurs des laboratoires scientifiques conçoivent de modèles de programmation; qui servent de pont entre l’expression d’un calcul scientifique par un code informatique, à son exploitation par le matériel sous-jacent. La diversification du matériel mène à une diversification des modèles de programmation, et les programmeurs doivent utiliser conjointement (ou « composer ») de multiples modèles afin d’utiliser toutes les unités de calcul du supercalculateur. La composition de modèle présente des dicultés, sur lesquelles les modèles de programmation par tâche ont des avantages comme la gestion du parallélisme et de l’asynchronisme par exemple.

Dans cette thèse, nous étudions la composition par tâche de modèle de programmation asynchrones. Nous illustrons notre approche par le composition de « the Message Passing Interface » (MPI) et « Open Multi-Processing » (OpenMP) avec son modèle par tâche. Nos contributions sont les suivantes. Premièrement, nous présentons un modèle unifié pour l’hybridation MPI+OpenMP, en définissant des métriques de performances, en 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 proxyapplications 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.

Gratuit

Mots clés

Disciplines