Thèse soutenue

Modélisation de performance et simulation d'applications OpenMP

FR  |  
EN
Auteur / Autrice : Idriss Daoudi
Direction : Samuel ThibaultThierry Gautier
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 21/09/2021
Etablissement(s) : Bordeaux
Ecole(s) doctorale(s) : École doctorale de mathématiques et informatique (Talence, Gironde ; 1991-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire bordelais de recherche en informatique
Jury : Président / Présidente : Emmanuel Jeannot
Examinateurs / Examinatrices : Samuel Thibault, Thierry Gautier, Gaël Thomas, Fabrice Rastello, Camille Coti
Rapporteurs / Rapporteuses : Gaël Thomas, Henri Casanova

Résumé

FR  |  
EN

Anticiper le comportement des applications, étudier et concevoir des algorithmes sont quelques-uns des objectifs les plus importants pour les études de performances et de correction des simulations et des applications liées au calcul intensif. De nombreux frameworks ont été conçus pour simuler de grandes infrastructures informatiques distribuées et les applications qui y sont exécutées. Au niveau des noeuds, certains outils ont également été proposés pour simuler des applications parallèles basées sur des tâches. Cependant, une capacité critique manquante à ces travaux est la capacité à prendre en compte les effets d’accès non uniforme à la mémoire (NUMA, Non-Uniform Memory Access), même si pratiquement toutes les plateformes HPC (High Performance Computing, i.e. calcul haute performance) présentent aujourd’hui de tels effets. Nous modélisons différentes architectures à mémoire partagée en effectuant nos propres mesures pour en obtenir les caractéristiques. Nous présentons donc dans cette thèse un nouveau simulateur d’applications parallèles à base de tâches dépendantes, qui permet d’expérimenter plusieurs modèles de localité des données. Celui-ci s’appuie sur l’enregistrement d’une trace de l’exécution séquentielle de l’application cible, en utilisant l’interface standard de trace pour OpenMP, OMPT (OpenMP Trace). Nous introduisons également trois modèles de performances dont deux sont sensibles à la localité : un premier modèle qui ne prend en compte que les temps d’exécution des tâches, un modèle léger qui utilise des informations de topologie pour pondérer les transferts de données, et enfin un modèle plus complexe qui prend en compte le stockage de données dans le LLC (Last Level Cache, i.e. cache de dernier niveau, en général le L3). Nous validons nos modèles sur des cas tests d’algèbre linéaire dense et montrons qu’en moyenne, notre simulateur prédit de manière reproductible et rapide le temps d’exécution avec une erreur relative réduite et permet l’expérimentation et l’étude de diverses heuristiques d’ordonnancement.