Étude sur la progression des communications MPI à base de ressources dédiées
Langue
en
Thèses de doctorat
Date de soutenance
2022-06-24Spécialité
Informatique
École doctorale
École doctorale de mathématiques et informatiqueRésumé
De nos jours, MPI est de facto le standard pour la programmation à mémoire distribuée pour les supercalculateurs. Les communications non bloquantes sont un des modèles proposés par le standard MPI. Ces opérations peuvent ...Lire la suite >
De nos jours, MPI est de facto le standard pour la programmation à mémoire distribuée pour les supercalculateurs. Les communications non bloquantes sont un des modèles proposés par le standard MPI. Ces opérations peuvent être utilisées pour recouvrir les communications avec du calcul (ou d’autres communications) afin d’amortir leurs coûts. Cependant, pour être utilisées efficacement, ces opérations nécessitent une progression asynchrone pouvant régulièrement utiliser un montant non négligeable de ressources de calcul (particulièrement les collectives non bloquantes). De plus, partager les ressources de calcul avec l’application peut provoquer un ralentissement global. Les mécanismes utilisés pour cette progression asynchrone parviennent difficilement à concilier un bon recouvrement en gardant un impact minimal sur l’application, ce qui raréfie leur utilisation. Afin de résoudre ces différents problèmes, nous avons suivi plusieurs étapes. Premièrement, nous proposons une étude approfondie de la progression asynchrone dans les implémentations MPI, en utilisant de nouvelles métriques se concentrant sur l’évaluation des mécanismes de progression et de leur impact sur le système global. Après avoir exposé les faiblesses de ces implémentations MPI, nous proposons une nouvelle solution pour la progression des collectives non bloquantes en utilisant des coeurs dédiés combinés à des algorithmes de collectives basés sur des évènements. Nous avons mesuré l’efficacité de cette solution en utilisant nos métriques, pour nous comparer avec les implémentations MPI étudiées dans la première étape. Enfin, nous avons développé un modèle permettant de prédire le gain potentiel et le surcout induit par l’utilisation d’opérations non bloquantes avec des coeurs dédiés. Ce modèle peut être utilisé pour évaluer l’utilité de transformer une application basée sur des opérations bloquantes en opérations non bloquantes pour bénéficier du recouvrement. Nous évaluons ce modèle sur plusieurs benchmarks.< Réduire
Résumé en anglais
Nowadays, MPI is the de-facto standard for distributed-memory parallelism on supercomputers. One of the communication models offered by the MPI standard is MPI nonblocking communications. These communications can be used ...Lire la suite >
Nowadays, MPI is the de-facto standard for distributed-memory parallelism on supercomputers. One of the communication models offered by the MPI standard is MPI nonblocking communications. These communications can be used to overlap communication with computation (or other communications) in order to reduce their impact. However, to perform efficiently, these operations require asynchronous progression, which can need non negligible amount of computation resources regularly (especially for nonblocking collectives). However, sharing the compute resources with the application may cause an overall slowdown. The current mechanisms used to achieve this asynchronous progression struggle to reconcile a good overlap and minimal impact on the application, which leads to nonblocking collective operations being very seldom used in applications. To address this issue, we followed several steps. First, we proposed a thorough study of asynchronous progression in MPI implementations using newly defined metrics, focusing on the evaluation of progression mechanisms and their impact on the global runtime. After exposing the shortcomings of these MPI implementations, we propose a new solution for the progression of nonblocking collectives using dedicated cores combined with event-based collective algorithms. We measured the efficiency of this solution using our metrics, to compare ourselves with the MPI implementations studied in the first step. Finally, we developed a model to predict the potential gain and the overhead induced by the use of nonblocking operations with a dedicated core. This model can be used to evaluate the usefulness of transforming an application based on blocking operation to nonblocking ones to benefit from overlap. We evaluate this model on several benchmarks.< Réduire
Mots clés
MPI
Progression
Non bloquantes
Collectives
Mots clés en anglais
MPI
Progression
Nonblocking
Collectives
Origine
Importé de STARUnités de recherche