Scheduling Under Memory Constraint in Task-based Runtime Systems - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Theses Year : 2023

Scheduling Under Memory Constraint in Task-based Runtime Systems

Ordonnancement sous contrainte mémoire dans un modèle de programmation à base de tâches

Abstract

Hardware accelerators, such as GPUs, now provide a large part of the computational power used for scientific simulations.GPUs come with their own limited memory and are connected to the main memory of the machine via a bus with limited bandwidth. Scientific simulations often operate on very large data, to the point of not fitting in the limited GPU memory. In this case, one has to turn to out-of-core computing: data are kept in the CPU memory, and moved back and forth to theGPU memory when needed for the computation. This out-of-core situation also happens when processing on multi-coreCPUs with limited memory huge datasets stored on disk.In both cases, data movement quickly becomes a performance bottleneck.Task-based runtime schedulers have emerged as a convenient and efficient way to manage large applications on such heterogeneous platforms. They are in charge of choosing which tasks to assign on which processing unit and in which orderthey should be processed.During this thesis, we worked on the problem of scheduling for a task-based runtime to improve data locality in an out-ofcoresetting, in order to reduce data movements. We designed strategies for both task scheduling and data eviction fromlimited memories. We implemented them in the StarPU runtime and compared them to existing scheduling techniques inruntime systems. Our strategies achieves significantly better performance when scheduling tasks on multiple GPUs withlimited memory, as well as on multiple CPU cores with limited main memory.We also worked on batch scheduling of IO intensive workloads. Similarly, we used data locality techniques to reduce theaverage latency of a job.
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.
Fichier principal
Vignette du fichier
GONTHIER_Maxime_2023ENSL0061.pdf (5.48 Mo) Télécharger le fichier
Origin Version validated by the jury (STAR)

Dates and versions

tel-04260094 , version 1 (26-10-2023)

Identifiers

  • HAL Id : tel-04260094 , version 1

Cite

Maxime Gonthier. Scheduling Under Memory Constraint in Task-based Runtime Systems. Distributed, Parallel, and Cluster Computing [cs.DC]. Ecole normale supérieure de lyon - ENS LYON, 2023. English. ⟨NNT : 2023ENSL0061⟩. ⟨tel-04260094⟩
144 View
144 Download

Share

Gmail Mastodon Facebook X LinkedIn More