Intégration des mécanismes de tolérance aux fautes dans StarPU
Type de contrat : CDD
Niveau de diplôme exigé : Bac + 5 ou équivalent
Fonction : Ingénieur scientifique contractuel
Niveau d'expérience souhaité : Jeune diplômé
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
Contexte :
Le besoin en puissance de calcul concerne de plus en plus de domaines tels que la biologie, la météorologie, l’astrophysique … Les applications sont exécutées sur des supercalculateurs avec de grandes capacités de calcul. Le PEPR Numérique pour l’exascale (NumPEx) s’inscrit dans ce contexte. Il a pour but de fournir les briques logicielles nécessaires pour l’exascale. Il est divisé en 5 projets ciblés (appelés PC), allant des méthodes mathématiques au traitement des données en passant par les logiciels. Cette fiche de poste s’inscrit dans le cadre du 2e PC : Exa-SofT dont le but et de fournir la pile logicielle nécessaire au bon fonctionnement des applications.
Afin d’atteindre ces performances de calcul, les supercalculateurs contiennent de plus en plus d’unités de calcul parfois hétérogènes. Par exemple, Frontier, classé numéro 1 au Top500 contient plus de 8 millions de coeurs. Avec autant de composants, la probabilité qu’une défaillance se produise est de plus en plus élevée. Il existe plusieurs techniques pour tolérer les fautes, certaines au niveaux de l’application [1] avec pour avantage la fine connaissance de l’application et de ses besoins, d’autres au niveau du système [2] qui évitent au programmeur d’ajouter les mécanismes de tolérance aux fautes à l’application. Ces techniques utilisent typiquement le principe de checkpoint/restart: régulièrement pendant l’exécution de l’application, l’état de l’application est sauvegardé (checkpoint), pour pouvoir être restauré en cas de panne (restart).
L’autre obstacle introduit par les supercalculateurs est la difficulté à programmer. En effet, devoir gérer des millions de ressources hétérogènes, avec ce que cela implique en terme de programmation, de gestion de la mémoire et des ressources, peut devenir très complexe. Afin d’abstraire l’architecture, les supports d’exécution à base de graphes de tâches peuvent être utilisés. L’idée est de représenter l’application sous forme de graphe de tâches guidé par les dépendances des données. Une fois le graphe exprimé, le support d’exécution s’occupe des transferts des données nécessaires à l’application. Ainsi l’utilisateur n’a plus à gérer cette difficulté. StarPU [3], développé à Bordeaux dans l’équipe STORM, fait partie des supports d’exécution basés sur les graphes de tâches.
Combiner la tolérance aux fautes et la représentation en graphe de tâches a plusieurs avantages. Tout d’abord, la connaissance des dépendances implique la connaissance des données nécessaires au restart, rendant la taille des checkpoints plus raisonnable. Ensuite, les messages à sauvegarder pour éviter un redémarrage global ou un effet domino peut aussi être simplifié grâce au graphes de tâches. Des travaux ont déjà été effectués dans le contexte de la tolérance aux fautes dans StarPU [4]. Ces travaux n’ont cependant pas encore été complètement intégrés dans StarPU lui-même: la sauvegarde du log de messages a été implémentée dans un prototype reprenant le fonctionnement de base de StarPU-MPI.
Références :
[1] G. Bosilca, R. Delmas, J. Dongarra and J. Langou : Algorithm-based fault tolerance applied to high performance computing. Journal of Parallel and Distributed Computing. 2009.
[2] Elnozahy, E. N. (Mootaz) and Alvisi, Lorenzo and Wang, Yi-Min and Johnson, David B: A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv. 2002.
[3] C. Augonnet, S. Thibault, R. Namyst, and P-A. Wacrenier
StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures. CCPE - Concurrency and Computation: Practice and Experience, Special Issue: Euro-Par 2009, 23:187-198, February 2011
[4] Romain Lion, Samuel Thibault: From tasks graphs to asynchronous distributed checkpointing with local restart. FTXS@SC 2020
Mission confiée
Missions :
Avec l'aide de Samuel Thibault et Amina Guermouche, la personne recrutée devra intégrer les mécanismes de tolérance aux fautes dans StarPU.
Principales activités
Le but de ce poste est :
1- Intégrer la tolérance aux fautes dans StarPU. Cette intégration comprendra l’intégration de la sauvegarde d’un log de messages, de la détection de fautes, et la mise en place du restart.
2- Effectuer une campagne de tests sur plusieurs applications afin de pouvoir tester les performances et l’impact du checkpoint.
Compétences
Compétences techniques et niveau requis :
- Programmation C
- Programmation parallèle, MPI
- Linux, bash
Langues : Anglais
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 moyen se situera entre 2692€ et 2765€ brut en fonction de l'expérience.
Informations générales
- Thème/Domaine :
Calcul distribué et à haute performance
Calcul Scientifique (BAP E) - Ville : Talence
- Centre Inria : Centre Inria de l'université de Bordeaux
- Date de prise de fonction souhaitée : 2024-10-01
- Durée de contrat : 6 mois
- Date limite pour postuler : 2024-07-15
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, 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 : STORM
-
Recruteur :
Thibault Samuel / Samuel.Thibault@inria.fr
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.