Sujet :  Intégration des communications réseau et de l'ordonnancement de tâches

Stage de fin d'étude (M2 / PFE ingénieur)

Responsables :  Alexandre Denis (Inria), Samuel Thibault (Université de Bordeaux)
Téléphone :  05.24.57.41.14
Courriels : Alexandre.Denis@inria.fr Samuel.Thibault@inria.fr

Présentation du sujet :

Dans le cadre du calcul haute-performance, les machines sont désormais très hétérogènes, équipées d'accélérateurs tels que les GPU ou les FPGA. Ces différentes unités se programment avec des paradigmes différents, et pour ajouter à la complexité, il faut gérer les transferts de données entre les unités, l'ordonnancement, et l'équilibrage de charge. Pour tirer profit d'une telle plate-forme, l'équipe STORM a proposé le support d'exécution StarPU qui gère ces problématiques de manière générique et indépendante de l'application. Pour des grappes de calcul — plusieurs noeuds interconnectés par un réseau d'interconnexion — StarPU confie l'exploitation du réseau à une bibliothèque de communication qui implémente l'interface MPI, d'utilisation standard en HPC.

Par ailleurs, l'équipe TADAAM développe la bibliothèque de communication NewMadeleine, dont l'originalité est d'appliquer une stratégie d'optimisation à la volée sur les flux de communications issus des différents threads, en assurant une progression asynchrone en tâche de fond. Elle repose essentiellement sur le principe de messages actifs, ce qui permet le déroulement des communications sans intervention de l'application.

Les besoins de StarPU en terme de communications ne sont pas les mêmes que ceux d'une application MPI classique, notamment en matière d'irrégularité, de réactivité, de multi-threading, de nombre de requêtes actives simultanément, alors qu'ils correspondent parfaitement au cahier des charges de NewMadeleine. Un portage se StarPU sur l'interface native de NewMadeleine a été réalisé pour en exploiter au mieux les propriétés de progression et de passage à l'échelle.

Ce stage s'intéresse à une intégration plus poussée entre StarPU et NewMadeleine, selon deux aspects à aborder au choix :

L'objectif de ce stage est d'aborder l'une ou l'autre des thématiques proposées ci-dessus, de proposer et d'implémenter des nouveaux mécanismes dans les bibliothèques StarPU et NewMadeleine, puis de les évaluer sur des micro-benchmarks et des tests applicatifs.

Ce stage a vocation à déboucher sur une thèse, dont le financement est déjà assuré.

Le stage se déroulera dans les locaux de l'Inria Bordeaux pour une durée d'environ 6 mois.

Mot-clés :  calcul haute-performance, réseau, programmation système


Commentaires :  Les développements à réaliser se feront dans les bibliothèques StarPU et NewMadeleine disponibles en open source et se font en langage C. Il serait souhaitable qu'ils soient réalisés par une personne à l'aise en programmation réseau et système.


Références :

  1. Cédric Augonnet, Olivier Aumage, Nathalie Furmento, Samuel Thibault, and Raymond Namyst. StarPU-MPI: Task Programming over Clusters of Machines Enhanced with Accelerators. Research Report RR-8538, INRIA, May 2014.
  2. Cédric Augonnet, Samuel Thibault, Raymond Namyst, and Pierre-André Wacrenier. StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurrency and Computation: Practice and Experience, 23(2):187–198, 2011.
  3. Olivier Aumage, Elisabeth Brunet, Nathalie Furmento, and Raymond Namyst. NewMadeleine: a Fast Communication Scheduling Engine for High Performance Networks. In Workshop on Communication Architecture for Clusters (CAC 2007), workshop held in conjunction with IPDPS 2007, Long Beach, California, United States, March 2007.
  4. Alexandre Denis. pioman: a pthread-based Multithreaded Communication Engine. In Euromicro International Conference on Parallel, Distributed and Network-based Processing, Turku, Finland, March 2015.
  5. NewMadeleine: An Optimizing Communication Library for High-Performance Networks
  6. StarPU: A Unified Runtime System for Heterogeneous Multicore Architectures
  7. Philippe Swartvagher. On the Interactions between HPC Task-based Runtime Systems and Communication Libraries. Thèse de doctorat, Univ. Bordeaux, 2022.