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 Bordeaux - Sud-Ouest est un des neuf centres d’Inria 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
Dans le cadre d’un partenariat
- avec Atos/BULL à Grenoble
- Et Inria à Bordeaux (équipe TADaaM)
L’ objectif du poste est de déveloper un outil pour régler automatiquement les paramètres de lancement d'une application de calcul haute performance écrite en MPI.
Sur les supercalculateurs utilisés en calcul haute performance, les applications scientifiques reposent, pour la plupart, sur le standard MPI afin de faire communiquer entre eux les processus applicatifs déployés. Il existe plusieurs implémentations de ce standard, sous forme de bibliothèques de communication. Les performances des communications de ces bibliothèques dépendent du matériel sous-jacent et sont variables selon le type des communications (point à point, collectives, bloquantes ou non, etc.), selon la topologie physique des nœuds de calcul et le schéma de communication des processus déployés dessus, selon l’algorithme employé pour traiter cette communication au sein de la bibliothèque, selon la taille des messages à échanger, etc…
Une des principales bibliothèques développées par des partenaires académiques, ainsi que des partenaires industriels tels qu’Atos, se nomme Open MPI. L’architecture logicielle de cette bibliothèque utilise un ensemble de paramètres de configuration appelés paramètres MCA permettant au moment du déploiement d’une application de contrôler finement le comportement de la bibliothèque afin d’optimiser ses communications. Néanmoins, parvenir à déterminer un ensemble de valeurs pour ces paramètres pour une application donnée afin d’en maximiser les performances est un problème complexe. Une approche dite de force brute consistant à tester avec de multiples exécutions de l’application toutes les valeurs possibles de ces paramètres n’est pas judicieux, compte-tenu du temps requis pour une telle démarche. Il est donc nécessaire de trouver des techniques de détermination de ces paramètres plus efficaces.
Dans le cadre du plan de relance, la société ATOS et l'équipe-projet Inria-TADaaM proposent donc de mettre en place une collaboration visant l'objectif suivant :
- Sur l'horizon d'environ 2 ans, l’objectif est de passer d'un prototype issu de la recherche académique à un démonstrateur, en le rendant plus robuste et capable de s’appliquer sur des applications proposées lors des différents appels d’offre. Il s’agira également pour Atos d’intégrer ce démonstrateur dans son propre outil d’optimisation des communications MPI et nommé ACCO.
Des déplacements réguliers sont prévus pour ce poste : le poste sera à 20% à l'Inria Bordeaux sur la campus de Talence et à 80% chez ATOS à Echirolles (Isère).
Mission confiée
Organisation du travail
La collaboration débutera en octobre 2022 et durera 2 ans.
L’ingénieur junior travaillera à 80% de son temps dans les locaux d’ATOS à Grenoble, sis au 1 rue de Provence, 38130 Échirolles et pour les 20% restants dans le centre de recherche Inria Bordeaux Sud-Ouest, situé au 200 Avenue de la Vieille Tour 33405 TALENCE Cedex.
Etapes principales : Prise en main de la bibliothèque Open MPI, prise en main de l’outil d’optimisation ACCO, prise en main de l’outil PARCOACH développé par l’équipe-projet Inria-Storm, intégration des travaux de Richard Sartori, doctorant CIFRE avec ATOS (M. Lemarinier).
Les participants à la collaboration feront des réunions régulières (1 fois toutes les deux semaines).
Intervenants
La collaboration se fera entre l’équipe TADaaM du centre Inria Bordeaux Sud-Ouest et Atos.
Personnes impliquées côté Inria :
- Emmanuel Jeannot
- Guillaume Mercier
Personnes impliquées côté ATOS :
- Pierre Lemarinier
- Guillaume Papauré
Travaux à réaliser
Le sujet proposé porte sur la détermination et l’optimisation automatique des paramètres MCA d’Open MPI permettant de maximiser les performances des communications d’une application scientifique cible. Un outil nommé ACCO et développé par Atos permet déjà de déterminer quelques paramètres spécifiques aux communications collectives, soit par une approche de type force brute, soit par des techniques d’optimisation dite boîte noire. Cet outil repose des évaluations successives de valeurs choisies pour ces paramètres sur l’exécution complète de l’application cible, ce qui le limite à des applications à exécution rapide de type benchmark ou mini-application. L’objectif est ici de développer des techniques permettant l’obtention de ces paramètres sur des applications scientifiques d’envergure plus conséquente. Dans le cadre d'une recherche scientifique commune (une thèse CIFRE), il a ainsi été proposé une approche dite de « squelettisation » consistant à extraire les communications d’une application cible pour en créer une mini-application représentative de l’application originelle.
Dans un premier temps
- L’ingénieur junior encadré par Inria consolidera la « squelettisation » proposée à la compilation et se reposant sur PARCOACH, un code développé par l’équipe-projet Inria-Storm permettant l’analyse de codes MPI. Il s’agira de rendre robuste cette approche et d’optimiser l’exécution de cette squelettisation. Il mènera une activité de développement visant à monter en TRL les différents prototypes développées dans le cadre la thèse CIFRE. D’autres part, il mènera une phase de tests intensifs permettant d’évaluer la robustesse de l’outil.
- L’ingénieur junior encadré par ATOS mettra en œuvre le nouvel outil sur les applications d’ATOS afin d’évaluer l’outil de squelettisation obtenu sur des exemples de codes applicatifs réels proposés par ATOS. La robustesse de cette solution sera analysée, et une campagne d’optimisation des paramètres MCA sera réalisée sur les squelettes obtenus afin d’étudier l’apport des paramètres ainsi déterminés sur les applications d’origine.
En fonction de l’avancement des travaux d’ingénierie, d’autres pistes pourront être poursuivies avec les étapes suivantes de recherche :
- Au lieu de se reposer sur une détermination des paramètres MCA par une approche boîte noire, des méthodes de classification des applications pourraient être envisagées. Il s’agira d’identifier des classes d’applications possédant pour chaque classe un ensemble de valeurs de paramètres MCA déterminé, puis de proposer des techniques de catégorisation des applications selon les classes identifiées.
- La détermination des paramètres MCA n’est pas le seul levier pour l’amélioration des performances des communications de la bibliothèque Open MPI. Le placement des processus sur une machine cible a également un impact sur ces performances. Il s’agira donc de proposer des techniques de détermination de placement visant à améliorer les performances d’une application cible.
Les développements liés à la squelettisation feront l’objet d’un module du logiciel PARCOACH. Certains développements propres aux applications d’Atos pourront faire l’objet d’une déclinaison pour créer un logiciel spécifique.
Livrable : Un démonstrateur des capacités de l’outil pourra être faite à ATOS, avec une présentation des résultats obtenus par l’outil sur les codes applicatifs d’ATOS.
Principales activités
Principales activés :
- Consolider les prototypes déjà réalisées
- Proposer des suites de tests et évaluer la robustesse des développements
- Réaliser la documentation et les démonstrateurs
Compétences
Compétences techniques et niveau requis :
- très bon niveau en langage C/C++,
- très bon niveau en système de type Unix,
- être famillier des outils de travail collaboratif (ssh, git, etc.),
- connaissance en compilation et LLVM serait appréciée,
- bonne connaissance des infrastructures de calcul haute performance, en particulier de MPI
- connaissance des outils de développement poussés (Valgrind, etc.),
- connaissance de Python
Langues : anglais (lu écrit parlé)
Compétences relationnelles :
- aimer le travail en équipe,
- savoir communiquer sur ses résultats et ses avancées,
- être à l'écoute des différentes idées.
Compétences additionnelles appréciées :
- être capable de commencer un poste en télétravail.
- être capable de travailler avec des personnes sur différents sites.
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 partiel 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)
Rémunération
CDD de 24 mois
Rémunération mensuelle brute fixée selon diplôme et expériences professionnelles : entre 2562 euros et 3846 euros
Partager
Informations générales
- Thème/Domaine :
Calcul distribué et à haute performance
Ingénierie logicielle (BAP E) - Ville : Echirolles (38) et Talence (33)
- Centre Inria : CRI Bordeaux - Sud-Ouest
- Date de prise de fonction souhaitée : 2022-10-01
- Durée de contrat : 2 ans
- Date limite pour postuler : 2022-06-15
Contacts
- Equipe Inria : TADAAM
-
Recruteur :
Jeannot Emmanuel / Emmanuel.Jeannot@inria.fr
L'essentiel pour réussir
Pour réussir dans ce poste, le candidat devra :
- aimer travailler sur des projets innovants,
- être force de propositions,
- maitriser le travail collaboratif et en équipe,
- faire preuve d'autonomie,
- communiquer proactivement sur son travail, ses avancées et ses difficultés,
- être organisé et rigoureux.
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 200 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3500 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 180 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.
Consignes pour postuler
Nous vous invitons à candidater sur le site jobs.inria en déposant les documents suivants :
- CV
- Lettre de motivation
- Diplôme d'ingénieur et/ou doctorat
- Eventuelle lettre de recommandation
- En raison de la collaboration avec ATOS, merci de joindre une pièce d'identité à votre candidature
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.
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.