Visite de 2 mois dans le groupe du Pr. Padma RAGHAVAN sur la thématique de l’ordonnancement d’applications stochastiques.
Étude de la multiplication scalaire pour l’algorithme de factorisation ECM. (rapport, slides)
Échange académique dans le laboratoire de robotique du Pr. CHONG, JAIST, Nomi-shi, Japon. Séjour de recherche autour d’algorithmes pour l’exploration à l’aide de drones.RESPONSABILITÉS COLLECTIVES
Comités de lecture
— HiPC 2021 (Software Track)
— ICPP 2021 (Algorithm Track)
Revues
— Relecteur pour le Journal of Parallel and Distributed Computing
THÈSE DE DOCTORAT
Titre : "HPC - Big Data Convergence : Managing the Diversity of Application Profiles on HPC Facilities" [LIEN]
Spécialité & Laboratoire : Informatique, Inria Bordeaux Sud-Ouest & LaBRI
Soutenue publiquement le 15 octobre 2020 à 16h, Amphi A du bâtiment A29 de l’Université de Bordeaux
Membres du jury [SLIDES SOUTENANCE]
— M. Gabriel ANTONIU, Directeur de recherche, Inria / Irisa, Président du jury
— Mme Anne BENOIT, Maître de conférences, ENS Lyon / LIP, Rapporteuse
— Mme Ewa DEELMAN, Directrice de recherche, SC Information Sciences Institute, Examinatrice
— M. Brice GOGLIN, Directeur de recherche, Inria / LaBRI, Directeur de thèse
— M. Guillaume PALLEZ, Chargé de recherche, Inria / LaBRI, Encadrant de thèse
— M. Frédéric SUTER, Directeur de recherche, CNRS / CC-IN2P3, Rapporteur
Résumé de thèse
Le calcul haute performance est un domaine scientifique dans lequel de très complexes et intensifs calculs
sont réalisés sur des infrastructures de calcul à très large échelle appelées supercalculateurs. Leur puissance
calculatoire phénoménale permet aux supercalculateurs de générer un flot de données gigantesque qu’il est
aujourd’hui difficile d’appréhender, que ce soit d’un point de vue du stockage en mémoire que de l’extraction
des résultats les plus importants pour les applications. Nous assistons depuis quelques années à une convergence entre le calcul haute performance et des domaines tels que le BigData ou l’intelligence artificielle qui
voient leurs besoins en termes de capacité de calcul exploser. Dans le cadre de cette convergence, une grande
diversité d’applications doit être traitée par les ordonnanceurs des supercalculateurs, qui sont en charge de
satisfaire au mieux les requêtes utilisateurs (nombre de ressources et temps de réservation) avec les disponibilités sur la machine. Cette thèse expose des solutions d’ordonnancement et de partitionnement de ressources
pour résoudre ces problématiques. Pour ce faire, nous proposons une approche basée sur des modèles mathématiques qui permet d’obtenir des solutions avec de fortes garanties théoriques de leur performance. Dans
ce manuscrit, nous nous focalisons sur deux catégories d’applications qui s’inscrivent en droite ligne avec la
convergence entre le calcul haute performance et le BigData : les applications intensives en données et les applications à temps d’exécution stochastique.
Les applications intensives en données représentent les applications typiques du domaine du calcul haute
performance. Elles se composent d’un code de simulation parallèle générant de grands volumes de données
qui sont stockés sur les disques de la machine, et d’une partie analyse de ces données dans un second temps
qui génère le résultat final de l’application. Devant les volumes de données toujours plus massifs générés par
les codes de simulation, le coût de stockage de toutes les données réduit drastiquement les performances de
calcul. Pour éviter ce stockage intermédiaire des données, le paradigme in situ est devenu à ce jour une référence. Il consiste à exécuter en parallèle simulation et analyse sur les ressources de calcul afin de ne stocker sur
les disque que la sortie des analyses, bien moins volumineuse. Dans cette thèse, nous proposons d’optimiser
cette catégorie d’applications exécutées sur des supercalculateurs en exposant des méthodes automatiques de
partitionnement de ressources ainsi que des algorithmes d’ordonnancement pour les différentes phases de ces
applications. De nombreux travaux se sont attachés à proposer des solutions logicielles pour mettre en pratique
ce paradigme pour les applications. Néanmoins, peu de travaux ont étudié comment efficacement partager les
ressources de calcul les différentes phases des applications afin d’optimiser leur temps d’exécution.
Les applications stochastiques constituent la deuxième catégorie d’applications étudiées dans cette thèse. Ces
applications ont un profil différent de celles étudiées dans de la première partie de cette thèse. En effet, ces applications présentent de fortes variations de leur temps d’exécution en fonction des carastéristiques du jeu de
données fourni en entrée. Cela est dû à leur structure interne composée d’une succession de fonctions, qui diffère des blocs de code massivement parallèles composant les applications intensive en données. L’incertitude
autour de leur temps d’exécution est une contrainte très forte pour lancer ces applications sur les supercalculateurs. En effet, l’utilisateur doit réserver des ressources de calcul pour une durée qu’il ne connait pas. Dans
cette thèse, nous proposons une approche novatrice pour aider les utilisateurs à déterminer une séquence de
réservations optimale qui minimise l’espérance du coût total de toutes les réservations. Ces solutions sont par
la suite étendues à un modèle d’application avec points de sauvegarde à la fin de (certaines) réservations afin
d’éviter de perdre le travail réalisé lors des réservations trop courtes. Enfin, nous proposons un profiling d’une
application stochastique issue du domaine des neurosciences afin de mieux comprendre les propriétés de sa
stochasticité. A travers cette étude, nous montrons qu’il est fondamental de bien connaître les caractéristiques
des applications pour qui souhaite élaborer des stratégies efficaces du point de vue de l’utilisateur.
RÉSUMÉ DES ACTIVITÉS DE RECHERCHE
Durant ma première année de master à l’ENS Lyon, j’ai réalisé un séjour d’étude et de recherche d’un an au
JAIST dans un laboratoire de robotique. Je me suis interessé à des problématiques algorithmiques pour l’exploration dynamique à l’aide de drones. Ce travail a fait l’objet d’une publication dans une conférence internationale [C1]. Lors de mon stage de deuxième année de Master, j’ai travaillé sur des propriétés algorithmiques
de la multiplication scalaire pour l’algorithme de factorisation ECM, algorithme de référence pour la factorisaion d’entiers en cryptographie à clé publique.
Durant ma thèse, j’ai collaboré avec Bruno Raffin (Equipe DataMove, Inria Grenoble) autour de techniques
d’ordonnancement et de partitionnement de ressources pour les applications intensives en données. Ce travail a permis l’élaboration de premiers modèles d’application et plate-forme, ainsi que l’expression d’un problème d’optimisation pour la minimisation du temps d’exécution d’applications in situ. Des contributions
théoriques qui en découlent (algorithmes d’ordonnancement et solutions au partitionnement de ressources
entre les différentes composantes des applications) ainsi qu’un simulateur de performance sur des applications synthétiques ont été publiés dans une revue internationale et ont aussi fait l’objet d’une communication
par poster [J1,P1]. . J’ai effectué une visite d’une semaine à Grenoble dans l’équipe DataMove dans le cadre de
cette collaboration. J’ai également collaboré pendant ma thèse avec l’équipe de Padma Raghavan à l’Université
Vanderbilt (Nashville, USA) concernant l’émergence de nouveaux profils d’applications dans les supercalculateurs. J’ai effectué un séjour de recherche de deux mois à Nashville à l’été 2018 pour initier le travail sur ces problématiques. Grâce à des échanges avec le département de Neurosciences de Vanderbilt, nous avons eu accès
à des applications stochastiques afin de développer des modèles théoriques ainsi que des solutions pratiques
pour exécuter ces applications sur des plateformes de calcul distribué. Ces travaux ont fait l’objet de plusieurs
publications dans la meilleure revue du domaine et une des meilleures conférences internationales [C2,C3,J2],
ainsi que l’écriture de plusieurs rapports de recherche [R1,R2,R3].
Je travaille actuellement dans le cadre de mon post-doctorat sur des développements logiciels pour la simulation robuste de workflows in situ dans le but d’étudier les problèmes de décision relatifs au partitionnement des
ressources de calcul entre les différentes composantes de ces workflows . Comme mentionné dans mes travaux
de thèse, j’ai proposé des algorithmes d’ordonnancement et des modèles de partitionnenement de ressources
pour les différentes phases de workflows in situ. Il est en revanche souvent diffcile d’évaluer des telles contributions en pratique car l’exécution réelle d’applications nécessite l’accès à une plate-forme et à des dépendances
logicielles parfois complexes. Ainsi, l’objectif de ce nouveau travail est de développer des simulateurs fiables
et robustes qui permettent une évaluation de performance très proche d’une exécution réelle, offrant ainsi
la possibilité aux utilisateurs des applications de tester les décisions d’ordonnancement avant une exécution
en production. Ces travaux sont réa...