La récente évolution des machines parallèles vers des architectures hétérogènes dotées d'accélérateurs entraine un regain d'efforts de recherche visant à concevoir des supports d'exécution permettant d'exploiter efficacement toues les unités de calcul de ces machines. L'approche développée dans le thème Runtime consiste à ordonnancer des graphes acycliques de tâches capables d'être affectées dynamiquement à divers types de processeurs. Le problème initial est ainsi découpé en tâches dont la granularité est choisie de manière à obtenir une performance moyenne maximale en considérant l'ensemble des unités de calcul cibles.

L’objectif de cette thèse est d’introduire la notion de tâches divisibles, c'est-à-dire de tâches que le support d'exécution pourra décider (ou non) de redécouper en plusieurs sous-tâches à l'exécution, et d'étudier de nouvelles stratégies d’ordonnancement adaptant la granularité des calculs en fonction de différents critères tels que la quantité de parallélisme que l'on souhaite générer, l’opportunité d'exploiter certains types d'unités de calcul à un moment donné, etc. Une partie du travail consistera à étudier comment gérer efficacement une partition non uniforme des données (pour autoriser la co-existence de sous-données de différentes granularités) ainsi qu'une gestion des dépendances entre tâches s'adaptant à des raffinements locaux du graphe de tâches.

Page mise à jour le 25/01/2013 à 09:05