Ingénieur / Tolérance aux pannes dans la bibliothèque de communications réseau NewMadeleine
Contract type : Fixed-term contract
Level of qualifications required : Graduate degree or equivalent
Fonction : Temporary scientific engineer
About the research centre or Inria department
Le centre Inria de l’université de Bordeaux est un des neuf centres d’Inria en France et compte une vingtaine d’équipes de recherche. Le centre Inria est un acteur majeur et reconnu dans le domaine des sciences numériques. Il est au cœur d'un riche écosystème de R&D et d’innovation : PME fortement innovantes, grands groupes industriels, pôles de compétitivité, acteurs de la recherche et de l’enseignement supérieur, laboratoires d'excellence, institut de recherche technologique…
Context
NUMPEX est le programme et équipement prioritaire de recherche (PEPR) pour l'Exascale en France. Cette initiative nationale vise à faire progresser la recherche scientifique et technologique dans le domaine du calcul à grande échelle et de l'informatique exascale
Ce poste s'inscrit dans le cadre du projet Exa-Soft du programme Numpex.
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 programmation événementielle et 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, de passage à l'échelle, ainsi qu'une intégration spécifique des opérations collectives.
Sur les supercalculateurs, le temps moyen entre pannes (MTBF) est typiquement de moins d'un jour. Les applications qui tournent à grande échelle doivent donc prendre en compte l'éventualité de fautes ou la
perte d'un noeud. Les stratégies classiques pour gérer la perte d'un noeud est le checkpoint, qui est désormais disponible dans StarPU. Cependant, la gestion de la perte d'un noeud n'est pas encore supportée dans NewMadeleine.
Assignment
L'objectif de ce poste d'ingénieur est d'ajouter le support de la tolérance aux pannes dans la bibliothèque de communication NewMadeleine. Concrètement, il s'agira d'implémenter dans NewMadeleine la norme ULFM.
Main activities
Concrètement, les activités à mener seront les suivantes:
- Détection des fautes : il s'agira dans un premier temps d'ajouter une vraie détection des fautes dans les drivers réseau de NewMadeleine. Dans l'actuelle, cette détection est partielle, et prend souvent la forme d'un abandon plutôt que d'une remontée complète de la situation d'erreur.
- État dégradé : après avoir détecté les fautes, il faudra mettre en place les mécanismes nécessaires pour que NewMadeleine puisse continuer à fonctionner correctement sans utiliser les liens fautifs. Il s'agit essentiellement d'adapter les stratégies de polling et d'adapter les conditions de soumission de nouvelles requêtes.
- Remontées des fautes : ensuite, il sera nécessaire de remonter à l'utilisateur les situations d'erreur, en implémentant les codes d'erreurs et les nouvelles fonctions proposées par ULFM.
- Récupération : enfin, pour récupérer totalement après une faute, il faut être capable de lancer de nouveaux processus et de les connecter à la session courante au travers de l'appel MPI MPI_Comm_spawn. Cette
fonction n'est actuellement pas implémentée dans NewMadeleine. Il sera donc nécessaire d'en proposer une implémentation. - Tests avec StarPU : une fois que ces mécanismes seront en place, les tests se feront avec le cas d'usage envisagé dans Exa-Soft, à savoir au travers du runtime StarPU.
Skills
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.
Benefits package
- Restauration subventionnée
- Transports publics remboursés partiellement
- Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
- Possibilité de télétravail et aménagement du temps de travail
- Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
- Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
- Accès à la formation professionnelle
- Sécurité sociale
Remuneration
Le salaire varie entre 2692€ et 3085€ brut, en fonction des qualifications et de l'expérience professionnelle.
General Information
- Theme/Domain :
Distributed and High Performance Computing
Software engineering (BAP E) - Town/city : Talence
- Inria Center : Centre Inria de l'université de Bordeaux
- Starting date : 2025-10-01
- Duration of contract : 12 months
- Deadline to apply : 2025-06-30
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
Si vous êtes intéressés par cette offre, merci de bien vouloir candidater via le site jobs.inria avec les documents suivants :
- cv
- lettre de motivation
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : TADAAM
-
Recruiter :
Denis Alexandre / Alexandre.Denis@inria.fr
The keys to success
Ce poste est idéal pour un jeune diplômé pour faire une première expérience.
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.