Poste d'ingénieur (H/F) sur l'analyse comparative du comportement des applications E/S et des systèmes de stockage (performance et consommation d'énergie)

La candidature doit être soumise en ligne sur le site internet d'Inria avant le 6 septembre 2024 pour une prise de fonction au 1er octobre 2024.

Contexte

Lancé en 2023 pour une durée de 6 ans, le PEPR NumPEx a pour objectif de contribuer à la conception et au développement de méthodes numériques et de composants logiciels qui équiperont les futures machines européennes Exascale et post-Exascale. NumPEx permettra également aux applications scientifiques et industrielles à exploiter pleinement leur potentiel.

Exa-DoST abordera les principaux défis liés aux données en proposant des solutions opérationnelles co-conçues et validées dans des applications françaises et européennes. Cela permettra de combler le vide laissé par les projets internationaux précédents et de s’assurer que les besoins français et européens sont pris en compte dans les feuilles de route pour la construction de la pile logicielle Exascale orientée données.

Mission

La personne recrutée sera chargée de caractériser le comportement des entrées-sorties des applications qui ont été choisies comme représentatives de la charge de travail HPC française. Cette caractérisation sera faite en utilisant des outils de profilage tels que Darshan et Tau, des outils de traçage tels que Recorder, et en inspectant le code source des applications. Nous sommes intéressés par le développement de noyaux d’E/S, qui sont des codes imitant les activités d’E/S (accès aux données persistantes) des applications et qui peuvent être utilisés pour les évaluer plus facilement sur différentes plates-formes.

En outre, la personne sera chargée de réaliser des expériences sur différentes infrastructures d’E/S afin de caractériser leur comportement et la manière dont elles sont affectées par les différentes caractéristiques des accès. Pour ce faire, des repères existants tels que IOR et mdtest seront utilisés dans un premier temps, mais il se peut que de nouveaux repères doivent être développés.

La sélection des points de référence et des modèles d’accès impliquera l’étude de documents de recherche.

Enfin, les résultats attendus sont une suite de repères qui peuvent être facilement appliqués à de nouvelles plates-formes, les noyaux d’E/S, une base de données des résultats obtenus et un rapport.

Principales activités

Principales activités :

  • Étudier des documents sur la charge de travail de grandes machines HPC réelles et imposée par des classes d’applications connues (par exemple, l’apprentissage automatique)
  • Exécution d’applications et de benchmarks sur des systèmes HPC à l’aide de scripts, traitement et représentation graphique des résultats
  • L’étude de grandes applications HPC (généralement écrites en C/C++ ou Fortran) pour comprendre leur comportement en matière d’E/S
  • Développement de noyaux d’E/S et de benchmark suites en C/C++ à l’aide de MPI-IO
  • Analyse statistique des résultats et modélisation (Python ou R)

Activités supplémentaires :

Rédaction de rapports et de documents de recherche (Latex).

Compétences requises

Nous recherchons une ingénieure ou un ingénieur junior, ayant jusqu’à 3 ans d’expérience.

Compétences techniques et niveau requis :

  • C/C++
  • scripting (Bash, Python, etc.)
  • utilisation d’Unix: ligne de commande, ssh, etc.
  • un plus (pas obligatoire) : utilisation de systèmes HPC, slurm, etc.
  • une expérience dans la recherche, en particulier dans le domaine du calcul intensif, serait un plus aussi

Plus d'informations

Pour une meilleure connaissance du sujet de recherche proposé :

Pour plus d’information, merci de contacter Francieli Zanon-Boito ([email protected]).