Thèse soutenue

Détermination de paramètres optimaux pour le déploiement d’applications MPI sur architectures parallèles

FR  |  
EN
Auteur / Autrice : Richard Sartori
Direction : Guillaume Mercier
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 19/12/2024
Etablissement(s) : Bordeaux
Ecole(s) doctorale(s) : École doctorale Mathématiques et informatique (Talence, Gironde ; 1991-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire bordelais de recherche en informatique
Jury : Président / Présidente : Olivier Beaumont
Examinateurs / Examinatrices : Patrick Carribault, Emmanuelle Saillard
Rapporteurs / Rapporteuses : Soraya Zertal, Philippe Clauss

Résumé

FR  |  
EN

Les supercalculateurs sont utilisés pour traiter des problèmes numériques complexes, comme les simulations, les prévisions météorologiques ou l’intelligence artificielle, nécessitant d’importantes ressources de calcul, inaccessibles aux ordinateurs traditionnels. Composés de multiples et puissants ordinateurs interconnectés, leurs capacités ne cesse de croître. Toutefois, développer des applications capables d’exploiter pleinement cette puissance devient de plus en plus difficile. En effet, divers facteurs doivent être pris en compte : des unités de calcul hétérogènes nécessitant des méthodes de programmation spécifiques, la hiérarchie mémoire, les transferts de données, les communications réseau et l’ordonnancement des tâches. Pour surmonter ces défis, le standard MPI a été créé, offrant une interface unifiée pour faciliter la programmation des supercalculateurs et la gestion des communications entre leurs composants. Dans cette thèse, nous explorons les différentes façons d’améliorer les performances des applications utilisant MPI en ajustant divers paramètres afin d’exploiter au mieux les ressources matérielles disponibles sur les supercalculateurs. Le travail se concentre sur Open MPI, une implémentation open-source de MPI, et propose des techniques d’optimisation pour réduire le temps et les ressources nécessaires à cette tâche. Parmi celles-ci, nous explorons l’optimisation par boîte noire (BBO), une méthode agnostique vis-à-vis de l’application, qui permet d’explorer l’espace des paramètres de manière efficace. L’idée principale derrière la BBO est d’utiliser des heuristiques intelligentes pour sélectionner les points les plus prometteurs de l’espace des paramètres à évaluer. Plutôt que de tester toutes les combinaisons possibles, la méthode BBO permet d’explorer cet espace en minimisant le nombre d’évaluations nécessaires. En comparaison avec une exploration exhaustive, le temps requis pour réaliser le processus est largement réduit tout en fournissant une solution aux performances pratiquement identiques. Cette approche est particulièrement utile dans le contexte des applications MPI, où l’espace des paramètres peut être gigantesque. D’autre part, nous introduisons également le concept de squelettisation des applications MPI, une nouvelle technique qui permet d’accélérer le processus d’optimisation en extrayant un ''squelette'' de l’application. L’extraction est automatisée à l’aide des outils fournis par LLVM, un ensemble d’outils fonctionnant autour d’une représentation intermédiaire. Cela rend l’extraction du squelette indépendante du langage de programmation utilisé pour l’application. Ce squelette préserve les éléments essentiels à l’optimisation de l’application, notamment ses schémas de communication, tout en éliminant les aspects calculatoires. Il peut par la suite être utilisé en remplacement de l’application originale dans le processus d’optimisation, ce qui réduit le temps nécessaire à son déroulement sans compromettre la validité des résultats obtenus. Les contributions présentées montrent que finement ajuster les paramètres de l’implémentation de MPI a du potentiel pour améliorer les performances des applications HPC.