L’Ecole doctorale : Ecole Doctorale de l’Institut Polytechnique de Paris
et le Laboratoire de recherche SAMOVAR – Services rĂ©partis, Architectures, MOdĂ©lisation, Validation, Administration des RĂ©seaux
présentent
lâAVIS DE SOUTENANCE de Monsieur Alexis COLIN
AutorisĂ© Ă prĂ©senter ses travaux en vue de lâobtention du Doctorat de l’Institut Polytechnique de Paris, prĂ©parĂ© Ă TĂ©lĂ©com SudParis en :
Informatique
« De la collecte de trace Ă la prĂ©diction du comportement d’applications parallĂšles »
le LUNDI 28 NOVEMBRE 2022 Ă 14h00
Amphi 3 – TĂ©lĂ©com SudParis
19 place Marguerite Perey 91120 Palaiseau
Membres du jury :
M. Denis CONAN, MaĂźtre de confĂ©rences, TĂ©lĂ©com SudParis, FRANCE – Directeur de thĂšse
Mme Camille COTI, Professeure, UniversitĂ© du QuĂ©bec, CANADA – Rapporteure
M. Samuel THIBAULT, Professeur des universitĂ©s, INRIA, UniversitĂ© de Bordeaux, FRANCE – Rapporteur
M. François TRAHAY, MaĂźtre de confĂ©rences, TĂ©lĂ©com SudParis, FRANCE – Co-encadrant de thĂšse
M. Arnaud LEGRAND, Directeur de recherche, IMAG, FRANCE – Examinateur
M. Patrick CARRIBAULT, Directeur de recherche, CEA/DAM, FRANCE – Examinateur
Mme Amel BOUZEGHOUB, Professeure, TĂ©lĂ©com SudParis, FRANCE – Examinatrice
Résumé :
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%.
Abstract : « From trace collection to the prediction of the behaviour of parallel applications »
Runtime systems are commonly used by parallel applications in order to efficiently exploit the underlying hardware resources. A runtime system hides the complexity of the management of the hardware and exposes a high-level interface to application developers. To this end, it makes decisions by relying on heuristics that estimate the future behavior of the application. We propose Pythia, a library that serves as an oracle capable of predicting the future behavior of an application, so that the runtime system can make more informed decisions. Pythia builds on the deterministic nature of many HPC applications: by recording an execution trace, Pythia captures the application main behavior. The trace can be provided for future executions of the application, and a runtime system can ask for predictions of future program behavior. We evaluate Pythia on 13 MPI applications and show that Pythia can accurately predict the future of most of these applications, even when varying the problem size. We demonstrate how Pythia predictions can guide a runtime system optimization by implementing an adaptive thread parallelism strategy in GNU OpenMP runtime system. The evaluation shows that, thanks to Pythia prediction, the adaptive strategy reduces the execution time of an application by up to 38%.