Master 2017 2018
Stages de la spécialité SAR
Gestion de micro-tâches dans l’ordonnanceur de MPC


Lieu : CEA, Bruyères-le-châtel
Encadrant : Julien Jaeger
Dates :du 19/03/2018 au 19/09/2018
Mots-clés : Master SAR, autre qu’ATIAM

Cliquer ici pour vous authentifier


Description

Dans le domaine du calcul hautes performances , les modèles de programmation à base de tâches se développent de plus en plus, notamment pour l’asynchronisme. Ainsi, les parties asynchrones d’un code sont représentées sous forme de tâches, et ces tâches sont exécutées dès que cela est possible (attente d’une communication, cœurs libres temporairement). L’intégration d’un modèle de tâches dans un ordonnanceur permet donc un meilleur support de ces techniques.

L’objectif de ce stage est d’améliorer l’ordonnanceur de MPC pour intégrer le support de tâches. MPC est un support exécutif, développé au CEA, fournissant ses propres implémentations des APIs MPI, OpenMP et Pthread au-dessus d’un ordonnanceur unifié de threads utilisateurs. L’intégration d’un moteur de tâches dans l’ordonnanceur de MPC permettrait ainsi un meilleur support de modèle avancé de programmation à base de tâche, et offrirait de nouvelles opportunités pour la gestion de l’asynchronisme.

Le stage de 6 mois se déroulera de la façon suivante : 1. Introduction de tâches simples dans l’ordonnanceur 1.1. Définition de la structure de tâche à adopter : 1.1.1. Réutilisation de la structure des threads. Les tâches sont considérées comme des threads à durée de vie limitée. La structure est détruite dès que le travail est terminé. 1.1.2. Développement d’une nouvelle structure 1.2. Définition de la structure de stockage des tâches à adopter 1.3. Définition de la politique d’ordonnancement 2. Amélioration vers des tâches avec dépendances 2.1. Définition de la représentation des dépendances 3. Définition de la sémantique à adopter pour créer une tâche.