Samuel THIBAULT
Samuel Thibault Maître de Conférences (Université Bordeaux)

Équipe LaBRI : Supports et Algorithmes pour les Applications Numériques hAutes performanceS
Équipe projet commune INRIA-LaBRI : RUNTIME
Fonction administrative : Coordination UE à grands effectifs licence Informatique. Co-responsable de la licence pro ADSILLH
Page personnelle : http://dept-info.labri.fr/~thibault/
Courrier électronique : samuel.thibaultarobaselabri.fr
Bureau : INRIA
Tél : +33 (0)5 40 00


Recherche

Problématique

De nos jours, les machines multiprocesseurs ont des niveaux mémoire de plus en plus hiérarchisés: les systèmes Opterons sont en fait des NUMAs, les puces bicore peuvent partager un niveau de cache, on leur adjoint des cartes accélératrices, ... Comment ordonnancer correctement des calculs scientifiques non réguliers sur de telles machines ?! Il n'est plus réaliste de réaliser cet ordonnancement à la main, et l'on recourt à des ordonnanceurs dynamiques, qui permettent d'exploiter ces machines. Pour pouvoir optimiser l'ordonnancement, on utilise de nos jours de plus en plus le paradigme de tâches, auxquelles sont attachées des informations plus ou moins précises de durée, occupation mémoire, priorité, etc.


Ordonnancement de tâches sur systèmes hétérogènes, StarPU

Cédric Augonnet, durant sa thèse sous ma co-direction, a élaboré StarPU, un environnement pour ordonnancer des tâches sur des machines hétérogènes. L'idée est d'essayer d'effectuer toutes les optimisations à l'exécution: les transferts de données sont minimisés et effectués à l'avance, recouverts par les calculs, et interagissent avec les décisions d'ordonnancement de tâches. Ces dernières prennent en compte des modèles de performance des tâches, ce qui permet de capturer l'aspect hétérogène de la machine, et même d'en profiter !

StarPU est de plus en plus utilisé pour différents bibliothèques de calcul scientifique telles que l'algèbre linéaire (projet MORSE).

Nous avons étendu le modèle de programmation StarPU à l'exploitation distribuée de clusters à l'aide de MPI, ce qui pose des questions de passage à l'échelle.

Nous avons étendu la gestion des données de StarPU à l'utilisation des disques, permettant ainsi des calculs out of core, ce qui pose des questions d'optimisation des transferts.

La combinaison de StarPU avec Simgrid nous permet de simuler l'exécution, ce qui apporte non seulement un gain de temps pour observer les performances obtenues avec différentes heuristiques d'ordonnancement, mais aussi de modifier les paramètres de l'architectures simulée (bande passante, unités de calcul, ...) ! Plus généralement, avec la modularisation des ordonnanceurs StarPU, cela permet de fournir aux théoriciens une plate-forme pour tester différentes heuristiques sur des applications réelles, tout en évitant toutes les contraintes techniques de l'exécution réelle sur un système de production (fautes matérielles, versions de logiciels changeantes, ...).

Encadrement

Romain Lion

Extrait de publications


Samuel Thibault. On Runtime Systems for Task-based Programming on Heterogeneous Platforms. Distributed, Parallel, and Cluster Computing [cs.DC]. Université de Bordeaux, 2018. ⟨tel-01959127⟩

Emmanuel Agullo, Olivier Aumage, Mathieu Faverge, Nathalie Furmento, Florent Pruvost, et al.. Achieving High Performance on Supercomputers with a Sequential Task-based Programming Model. IEEE Transactions on Parallel and Distributed Systems, Institute of Electrical and Electronics Engineers, In press, ⟨10.1109/TPDS.2017.2766064⟩. ⟨hal-01618526⟩

Luka Stanisic, Samuel Thibault, Arnaud Legrand, Brice Videau, Jean-François Méhaut. Modeling and Simulation of a Dynamic Task-Based Runtime System for Heterogeneous Multi-Core Architectures. Euro-par - 20th International Conference on Parallel Processing, Aug 2014, Porto, Portugal. pp.50-62, ⟨10.1007/978-3-319-09873-9_5⟩. ⟨hal-01011633⟩

Cédric Augonnet, Samuel Thibault, Raymond Namyst, Pierre-André Wacrenier. StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures. Euro-Par 2009, Aug 2009, Delft, Netherlands. ⟨inria-00384363⟩

François Broquedis, Jérôme Clet-Ortega, Stéphanie Moreaud, Nathalie Furmento, Brice Goglin, et al.. hwloc: a Generic Framework for Managing Hardware Affinities in HPC Applications. PDP 2010 - The 18th Euromicro International Conference on Parallel, Distributed and Network-Based Computing, Feb 2010, Pisa, Italy. ⟨10.1109/PDP.2010.67⟩. ⟨inria-00429889⟩

Autres productions

- Bibliotheque d'ordonnancement CPU/GPU StarPU http://starpu.gforge.inria.fr/
- Bibliotheque de detection de topologie hwloc http://www.open-mpi.org/projects/hwloc/
- Environnement d'execution virtualise léger "stubdomain" basé sur MiniOS pour Xen
- Environnement d'execution OpenMP ForestGOMP
- Plateforme BubbleSched au sein de la Bibliotheque de processus legers Marcel


Responsabilité pédagogique

Responsable UE Initiation à l'Informatique
Responsable Licence pro ADSILLH
Responsable L1 Informatique


Page mise à jour le 13/08/2010 à 10:56