Thèse soutenue

Convergence HPC - Big Data : Gestion de différentes catégories d'applications sur des infrastructures HPC

FR  |  
EN
Auteur / Autrice : Valentin Honore
Direction : Brice Goglin
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 15/10/2020
Etablissement(s) : Bordeaux
Ecole(s) doctorale(s) : École doctorale Mathématiques et informatique (Talence, Gironde ; 1991-....)
Partenaire(s) de recherche : Laboratoire : Tadaam
Jury : Président / Présidente : Gabriel Antoniu
Examinateurs / Examinatrices : Brice Goglin, Frédéric Suter, Anne Benoit, Guillaume Pallez, Ewa Deelman
Rapporteurs / Rapporteuses : Frédéric Suter, Anne Benoit
DOI : 10.70675/b3edb0f7z1fe1z4db2zb185zcf2cafcd0e44

Résumé

FR  |  
EN

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 terme 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, provenant d'utilisateurs de différents horizons pour qui il n'est pas toujours aisé de comprendre le fonctionnement de ces infrastructures pour le calcul distribué.Dans cette thèse, nous exposons 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 leu 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. 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. Pour ce faire, nous utilisons le paradigme in situ, devenu à ce jour une référence pour 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 que nous étudions dans cette thèse. Ces applications ont un profil différent de celles de la première partie de ce manuscrit. En effet, contrairement aux applications de simulation numérique, ces applications présentent de fortes variations de leur temps d'exécution en fonction des caracté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 massifs 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'applications 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.