Thèse soutenue

De la collecte de trace à la prédiction du comportement d'applications parallèles

FR  |  
EN
Auteur / Autrice : Alexis Colin
Direction : Denis ConanFrançois Trahay
Type : Thèse de doctorat
Discipline(s) : Informatique, données, IA
Date : Soutenance le 28/11/2022
Etablissement(s) : Institut polytechnique de Paris
Ecole(s) doctorale(s) : École doctorale de l'Institut polytechnique de Paris
Partenaire(s) de recherche : Laboratoire : Télécom SudParis (Evry ; 2012-....) - Institut Polytechnique de Paris / IP Paris - Département Informatique / INF - Algorithmes, Composants, Modèles Et Services pour l'informatique répartie / ACMES-SAMOVAR
Etablissement opérateur d'inscription : Télécom SudParis (France)
Jury : Président / Présidente : Amel Bouzeghoub
Examinateurs / Examinatrices : Camille Coti, Samuel Thibault, Arnaud Legrand, Patrick Carribault
Rapporteurs / Rapporteuses : Camille Coti, Samuel Thibault

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

Les supports d'exécution sont couramment utilisés par les applications parallèles afin d'exploiter efficacement les ressources matérielles sous-jacentes. Un support d'exécution dissimule la complexité de la gestion du matériel et expose aux développeurs d'applications une interface de haut niveau. À cette fin, il prend des décisions en s'appuyant sur des heuristiques qui estiment le comportement futur de l'application. Nous proposons Pythia, une bibliothèque utilisable comme oracle capable de prédire le comportement futur d'une application afin que les supports d'exécutions puissent prendre des décisions plus éclairées. Pythia s'appuie sur la nature déterministe de nombreuses applications HPC : en enregistrant une trace d'exécution, Pythia capture le comportement général de l'application. Cette trace est ensuite utilisée lors des exécutions suivantes de l'application et le support d'exécution peut demander des prédictions sur le comportement futur du programme. Nous évaluons Pythia sur 13 applications MPI et nous montrons que Pythia peut prédire précisément le futur de la plupart de ces applications, même en variant la taille des données. Nous montrons comment les prédictions de Pythia peuvent guider l'optimisation d'un support d'exécution en implémentant une stratégie de parallélisme adaptatif dans le support d'exécution GNU OpenMP. L'évaluation montre que, grâce aux prédictions de Pythia cette stratégie adaptative peut réduire le temps d'exécution d'une application jusqu'à 38%.