Thèse soutenue

Ordonnancement sous contrainte mémoire dans un modèle de programmation à base de tâches
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Maxime Gonthier
Direction : Loris MarchalSamuel Thibault
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 25/09/2023
Etablissement(s) : Lyon, École normale supérieure
Ecole(s) doctorale(s) : École doctorale en Informatique et Mathématiques de Lyon
Partenaire(s) de recherche : Laboratoire : Laboratoire de l'informatique du parallélisme (Lyon ; 1988-....) - Laboratoire bordelais de recherche en informatique - Optimisation des ressources : modèles, algorithmes et ordonnancement - STatic Optimizations, Runtime Methods
Jury : Président / Présidente : Isabelle Terrasse
Examinateurs / Examinatrices : Loris Marchal, Samuel Thibault, Isabelle Terrasse, Camille Coti, Julien Langou, Thomas Hérault
Rapporteurs / Rapporteuses : Camille Coti, Julien Langou

Résumé

FR  |  
EN

Les accélérateurs, tels que les GPU, fournissent désormais une grande partie de la puissance de calcul utilisée par les simulations scientifiques. Les GPUs disposent de leurs propre mémoire limitée et sont connectés à la mémoire principale de la machine via un bus de bande passante limitée. Les simulations scientifiques utilisent souvent une grande quantité de données, au point de ne pas pouvoir les charger dans la mémoire limité du GPU. Dans ce cas, il faut recourir à l’out-of-core :les données sont conservées dans la mémoire du CPU et sont déplacées vers la mémoire du GPU lorsque le calcul l'exige.Cette situation out-of-core se produit également sur des CPU multicoeurs avec mémoire limitée lors de calculs nécessitant de grande quantité de données stockées sur un disque. Dans les deux cas, les mouvements de données deviennent rapidement un goulot d'étranglement pour les performances.Les ordonnanceurs à base de tâches de supports d’exécution sont apparus comme un moyen pratique et efficace de gérer de grandes applications sur de telles plateformes hétérogènes. Ils sont chargés de choisir les tâches à assigner à chaque unité de calcul et l'ordre dans lequel elles doivent être traitées. Au cours de cette thèse, nous avons travaillé sur le problème d'ordonnancement pour les modèles de programmation à base de tâches afin d’améliorer la localité des données dans un environnement out-of-core, et de réduire les mouvements de données. Nous avons conçu des stratégies pour l'ordonnancement des tâches et l'éviction des données des mémoires limitées. Nous les avons implémentées dans le support d’exécution StarPU et les avons comparées aux techniques d'ordonnancement existantes dans les supports d’exécution. Nos stratégies permettent d'obtenir de bien meilleures performances lors de l'ordonnancement de tâches sur plusieurs GPU à mémoire limitée, ainsi que sur plusieurs coeurs de CPU à mémoire principale limitée. Nous avons également travaillé sur l'ordonnancement batch d’ensembles de travaux intense en Entrée/Sortie. De même,nous avons utilisé des techniques de localité des données afin de réduire la latence moyenne d'une tâche.