Efficient Use of Task-based Parallelism in HPC Parallel Applications - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

Efficient Use of Task-based Parallelism in HPC Parallel Applications

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

Résumé

Numerical simulations are a powerful tool for scientific research and the industry, considered as the third pillar of science by scientists.High-Performance Computing (HPC) is the science of improving computer performances to meet numerical simulation needs.Testbeds for these studies are supercomputers: a set of interconnected compute nodes, each composed of multi-core processors contributing in parallel to perform a simulation. Over the last decades, supercomputer architectures have been living a fast evolution; we observe an increase and a diversification of processing units per compute node. Hence, programming portable and performing numerical simulations across hardware generations is challenging. To meet this challenge, hardware vendors and programmers from scientific laboratories conceive standard programming models such as « The Message Passing Interface (MPI) » or « Open Multi-Processing (OpenMP) ». These models serve as bridges between numerical simulation code expression and its exploitation by the underlying hardware. Hardware diversification leads programmers to use multiple programming models jointly (or «~compose~») to fully exploit the underlying hardware. Asynchronous programming models composition presents difficulties on profiling, programming and performances.In this thesis, we study the task-based composition of MPI and OpenMP, providing the following contributions on the mentioned difficulties. First, we present a unified task-based performance modeling of MPI+OpenMP composition, defining performance metrics and implementing a run-time profiler with post-mortem analysis. Then, we conceive a scheduler unifying the progression and the overlap of heterogeneous asynchronous operations, such as network memory transfers, computational tasks, accelerator memory transfers and offloading. Finally, we evaluate and improve the task-based composition on proxy-applications modeling real-world scientific simulations, characterizing and mitigating performance bottlenecks such as communication scheduling, throttling, or dependency graph discovery.
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.
Fichier principal
Vignette du fichier
PEREIRA_Romain_2023ENSL0097_These.pdf (16.33 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04466797 , version 1 (19-02-2024)

Identifiants

  • HAL Id : tel-04466797 , version 1

Citer

Romain Pereira. Efficient Use of Task-based Parallelism in HPC Parallel Applications. Distributed, Parallel, and Cluster Computing [cs.DC]. Ecole normale supérieure de lyon - ENS LYON, 2023. English. ⟨NNT : 2023ENSL0097⟩. ⟨tel-04466797⟩
62 Consultations
22 Téléchargements

Partager

Gmail Facebook X LinkedIn More