Ingénieur / Tolérance aux pannes dans la bibliothèque de communications réseau NewMadeleine
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Ingénieur scientifique contractuel
A propos du centre ou de la direction fonctionnelle
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…
Contexte et atouts du poste
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.
Mission confiée
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.
Principales activités
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.
Compétences
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.
Avantages
- 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
Rémunération
Le salaire varie entre 2692€ et 3085€ brut, en fonction des qualifications et de l'expérience professionnelle.
Informations générales
- Thème/Domaine :
Calcul distribué et à haute performance
Ingénierie logicielle (BAP E) - Ville : Talence
- Centre Inria : Centre Inria de l'université de Bordeaux
- Date de prise de fonction souhaitée : 2025-10-01
- Durée de contrat : 12 mois
- Date limite pour postuler : 2025-06-30
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
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
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : TADAAM
-
Recruteur :
Denis Alexandre / Alexandre.Denis@inria.fr
L'essentiel pour réussir
Ce poste est idéal pour un jeune diplômé pour faire une première expérience.
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.