En poursuivant votre navigation sur ce site, vous acceptez le dépôt de cookies dans votre navigateur. (En savoir plus)
Portail > Offres > Offre FR636-EVEMAG-032 - Ingénieur (H/F) en développement d'applications scientifiques / calcul intensif (HPC), dans le milieu de la recherche en modélisation du climat., (développement de la bibliothèque XIOS).

Ingénieur (H/F) en développement d'applications scientifiques / calcul intensif (HPC), dans le milieu de la recherche en modélisation du climat., (développement de la bibliothèque XIOS).


Date Limite Candidature : lundi 21 décembre 2020

Assurez-vous que votre profil candidat soit correctement renseigné avant de postuler. Les informations de votre profil complètent celles associées à chaque candidature. Afin d’augmenter votre visibilité sur notre Portail Emploi et ainsi permettre aux recruteurs de consulter votre profil candidat, vous avez la possibilité de déposer votre CV dans notre CVThèque en un clic !

Faites connaître cette offre !

Informations générales

Référence : FR636-EVEMAG-032
Lieu de travail : GUYANCOURT
Date de publication : lundi 19 octobre 2020
Type de contrat : CDD Technique/Administratif
Durée du contrat : 24 mois
Date d'embauche prévue : 1 janvier 2021
Quotité de travail : Temps complet
Rémunération : Entre 2500 et 3000€ selon expérience
Niveau d'études souhaité : Ingénieur
Expérience souhaitée : Indifférent

Missions

Dans le cadre du projet Européen H2020 du centre d'excellence ESIWACE2 dans le domaine du calcul intensif pour le climat, le CNRS recrute pour l'Institut Pierre-Simon Laplace un ingénieur de recherche en contrat à durée déterminée pour une durée de 2 ans pour faire évoluer la bibliothèque XIOS de gestion des entrées/sorties des modèles de climat.

Les missions du poste s'inscrivent dans le cadre des délivrables attendus à travers les différents « work package » du projet ESIWACE2 pour lesquels XIOS est impliqué (WP 1, WP4, WP5):
- Passage à l'échelle de la bibliothèque sur des configurations de modèle « système terre » à très haute résolution (entre 10 km et 1 km de résolution en global) et sur plusieurs dizaines de milliers de cœurs de calcul (O(10 000)-O(100 000)).
Cela implique l'optimisation des performances en calcul brut du code, la diminution de l'empreinte mémoire, l'optimisation des transferts de données à travers le réseau d'interconnexion (transferts MPI) afin d'améliorer la scalabilité, et l'optimisation des écritures parallèles des I/O à travers les bibliothèques parallèles NETCDF4-HDF5-MPIIO.

- Développement d'un module XIOS permettant la gestion des grands ensembles de simulations climatiques.
La modélisation du climat se tourne de plus en plus vers l'exécution simultanée d'ensembles de plusieurs dizaines de simulations paramétriques (sensibilité à l'état initial, sensibilité aux paramètres, etc.) afin d'évaluer la variabilité des modèles. Le challenge consiste à absorber le flux de données en sortie des simulations et d'effectuer « In Situ » leur réduction statistique (moyenne, écart type, etc…) avant de les écrire sur disque de façon à en alléger considérablement le volume. Nous proposons que cette gestion « In-Situ » se fasse à travers XIOS.

Activités

L'activité du poste implique une forte composante « développement » qui nécessite une solide expérience en développement applicatif C++ et un savoir-faire en programmation parallèle (MPI, OpenMP).
Ce savoir-faire en programmation parallèle pourra éventuellement être renforcé au cours du contrat.
D'autre part, la gestion et le maintien des sources sous le gestionnaire de sources SVN devront être assurés.
Nous souhaitons également améliorer la documentation existante, ce qui nécessitera le goût et la capacité à rédiger en Anglais. Enfin, un « support » devra être assuré aux utilisateurs de XIOS, à la fois en les aidant à intégrer la bibliothèque dans leurs modèles mais aussi en suivant de près son utilisation (remontée de bugs, corrections,…).

Compétences

Formation :
- Minimum Bac+5 école d'ingénieur

Compétences indispensables :
- Excellent niveau en C++.
- Expérience en développement d'applications scientifiques.

Compétences appréciées (par ordre d'importance) :
- Maitrise du parallélisme en mémoire distribuée (MPI).
- Maitrise du parallélisme en mémoire partagée, programmation multithread (OpenMP).
- Expérience en calcul intensif sur super-calculateur (connaissance du monde UNIX, gestionnaires de ressource, calculs parallèles).
- Connaissance du Fortran.
- Programmation sur accélérateur de calcul (GPU, OpenACC).
- Bon niveau d'Anglais (niveau B2)
- Goût pour la rédaction (documentation).
- Gestion de codes source sous Subversion (SVN).

Contexte de travail

Les modèles de simulation du système climatique produisent un important volume de données au cours de simulations qui sont réalisées sur des calculateurs pouvant compter jusqu'à 100 000 cœurs de calcul. A cette échelle, les écritures sur disques et le post-traitement des données, deviennent alors un important goulet d'étranglement. Afin de générer efficacement et exploiter de manière performante l'énorme flux de données généré par ses simulations, l'IPSL (Institut Pierre Simon Laplace) a développé la bibliothèque XIOS.
Cette bibliothèque, dédiée au calcul intensif, permet de gérer efficacement et simplement les entrée/sortie parallèles des données sur les systèmes de stockage. Dans cette nouvelle approche, orientée client/serveur, des cœurs de calcul sont exclusivement dédiés aux I/O de façon à minimiser leur impact sur le temps de calcul des modèles. L'utilisation des communications asynchrones entre les modèles (clients) et les serveurs I/O permet de lisser les pics I/O en envoyant un flux de données constant au système de fichiers tout au long de la simulation, recouvrant ainsi totalement les écritures par du calcul.
Par ailleurs, XIOS implémente des fonctionnalités de workflow parallèle permettant d'effectuer le post-traitement des données « In Situ », c'est-à-dire en parallèle et sur l'ensemble des cœurs de calcul d'une simulation. Ce système de workflow, décrit la chaine de traitement allant de l'extraction des données en provenance des modèles (flux d'entrée), le chainage des opérateurs transformant et combinant ces flux et leur sortie dans les différents fichiers associés. Cette description s'effectue de manière souple à partir d'un fichier d'entrée XML (analysé au moment de l'exécution), déchargeant les modèles de cette tâche. Ce fichier XML est structuré hiérarchiquement et implémente des concepts d'héritages parent-enfants, amenant à des définitions de la chaine de traitement extrêmement souples et compactes.
La bibliothèque XIOS est écrite en C++ (~120 000 lignes de codes) et utilise la bibliothèque MPI pour ses communications asynchrones entre clients et serveurs, ainsi que pour le traitement parallèle du workflow. Afin d'agréger la bande passante du système de fichiers parallèle des calculateurs, XIOS fait appel aux I/O parallèles à travers les bibliothèques NETCDF4, HDF5 et MPI-IO. Aujourd'hui, XIOS est utilisé par différents instituts en France et en Europe, et sa base d'utilisateurs est en constante progression.

Situation de l'emploi et conditions :
La mission se déroulera au sein du Laboratoire des sciences du climat et de l'environnement rattaché à l'Institut Pierre Simon Laplace, le LSCE est situé sur le site du CEA/Saclay. Le candidat rejoindra l'équipe CalculS en charge du développement et du maintien des aspects HPC des modèles de climat de l'IPSL. La bibliothèque XIOS est développée et maintenue au sein de cette équipe d'ingénieurs.
La personne recrutée rejoindra une équipe de 5 personnes et elle dépendra du responsable développement XIOS

On en parle sur Twitter !