Sujet :  simulation des communications de NewMadeleine avec SimGrid

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

Responsable :  Alexandre Denis (Inria Bordeaux), en coopération avec Arnaud Legrand (IMAG, Grenoble)
Téléphone :  05.24.57.41.14
Courriel : Alexandre.Denis@inria.fr

Présentation du sujet :

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.

SimGrid, développé entre autres à l'IMAG à Grenoble, est une plate-forme dédiée à la simulation des applications distribuées. C'est une plate-forme qui permet de construire son preopre simulateur adapté à chaque application dans le but d'expérimenter de nouveaux algorithmes, de nouveaux protocoles, d'extrapoler les performances sur des nouvelles plate-formes.

L'utilisation d'une stratégie d'ordonnancement des paquets dans NewMadeleine permet d'obtenir de bonnes performances, mais rend le comportement de la bibliothèque moins lisible de l'extérieur. En particulier, il ne correspond pas au comportement habituel d'une bibliothèque MPI classique. Dans le cas où un utilisateur utilise SimGrid pour simuler le comportement d'une application en choisissant le modèle MPI, le résultat ne correspondra pas à ce que fait réellement NewMadeleine pour son ordonnancement des paquets, la prise en compte des priorités, les algorithmes de collectives, etc.

L'objectif de ce stage est d'intégrer un support de SimGrid dans NewMadeleine de façon à pouvoir modéliser toutes les spécificités de NewMadeleine dans une simulation.

Ce stage a vocation à déboucher sur une thèse sur une thématique connexe à l'Inria Grenoble.

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 la bibliothèque NewMadeleine disponible 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. 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.
  2. Alexandre Denis. pioman: a pthread-based Multithreaded Communication Engine. In Euromicro International Conference on Parallel, Distributed and Network-based Processing, Turku, Finland, March 2015.
  3. NewMadeleine: An Optimizing Communication Library for High-Performance Networks
  4. Alexandre Denis, Emmanuel Jeannot, Philippe Swartvagher. Interferences between Communications and Computations in Distributed HPC Systems. ICPP 2021 - 50th International Conference on Parallel Processing, Aug 2021, Chicago
  5. Alexandre Denis, Emmanuel Jeannot, Philippe Swartvagher. Predicting Performance of Communications and Computations under Memory Contention in Distributed HPC Systems. International Journal of Networking and Computing, 2023, Special Issue on Workshop on Advances in Parallel and Distributed Computational Models 2022
  6. SimGrid: Simulation of Distributed Computer Systems
  7. Henri Casanova, Arnaud Giersch, Arnaud Legrand, Martin Quinson, Frédéric Suter. Versatile, Scalable, and Accurate Simulation of Distributed Applications and Platforms. Journal of Parallel and Distributed Computing, Elsevier, 2014