Présentation de la société : CEA
Le CEA est un acteur majeur de la recherche, au service des citoyens, de l'économie et de l'Etat.Il apporte des solutions concrètes à leurs besoins dans quatre domaines principaux : transition énergétique, transition numérique, technologies pour la médecine du futur, défense et sécurité sur un socle de recherche fondamentale. Le CEA s'engage depuis plus de 75 ans au service de la souveraineté scientifique, technologique et industrielle de la France et de l'Europe pour un présent et un avenir mieux maîtrisés et plus sûrs.
Implanté au cœur des territoires équipés de très grandes infrastructures de recherche, le CEA dispose d'un large éventail de partenaires académiques et industriels en France, en Europe et à l'international.
Les 20 000 collaboratrices et collaborateurs du CEA partagent trois valeurs fondamentales :
• La conscience des responsabilités
• La coopération
• La curiosité
Missions
L’objectif de ce projet est d’établir une méthode permettant de mesurer au niveau du code et du matériel les caractéristiques qui permettent d’évaluer les caractéristiques attendues du matériel.
Ce défi est rendu complexe par :
- La complexité de l’architecture logicielle ( multiplicité des composants logiciels, des langages de développement, des relations de dépendances, etc.) . De plus, même avec une méthode permettant de gérer cette complexité, les informations pour l’appliquer ne sont pas forcément disponibles (quand le code n’est pas open source par exemple) .
- La complexité de l’architecture matérielle ; les choix d’agencement des GPU, des CPU, des différentes mémoires et des canaux de communication ont un impact sur les caractéristiques au runtime du code déployé
Ces deux complexités sont souvent adressées indépendamment à l’exception des travaux sur l’efficacité énergétique qui, avec le suivi des chaine de build et de déploiement, pavent le chemin que nous devons suivre et étayer avec les canaux qui permettront au monde logiciel de correctement prendre en compte le matériel.
Les objectifs intermédiaires sont définis ci-dessous :
O2 : Identifier les caractéristiques des exigences sur le matériel à mesurer - au niveau de l’architecture logicielle
Ces caractéristiques s’appuieront sur une modélisation de l’architecture logicielle du service. Nous anticipons notamment des caractéristiques relatives au complexités en temps, mémoire et communications.
O3 : Identifier les caractéristiques des exigences sur le matériel à mesurer - au niveau de l’architecture matérielle
Ces caractéristiques dépendront de l’architecture matérielle. Nous anticipons notamment des caractéristiques relatives aux capacités de stockage, vitesse d’échange et d’accès à la mémoire, et présence de périphériques.
O4 : Structurer la déclaration des caractéristiques des exigences du logiciel sur le matériel
C’est-à-dire pour la partie logicielle : compléter les modèles d’architecture du logiciel par ces informations de caractéristiques.
Pour la partie matérielle, définir un modèle (paramétrique) permettant d’abstraire les caractéristiques identifiées en O3 tout en garantissant un niveau de précision satisfaisant pour l’évaluation des impacts environnementaux.
O5 : Développer un outillage permettant de gérer les caractéristiques des exigences du logiciel sur le matériel
Aider à établir une déclaration de caractéristiques logicielle; ces outils pourront s’appuyer sur l’existant en matière de mesure de performances de logiciels.
Valider une déclaration de caractéristiques matérielle à partir des artefacts logiciels correspondants. Ces développements pourront s’appuyer sur une émulation du matériel.
De visualiser les « hotspots » des évolution du services du point de vue de l’augmentation des exigences matérielles du service.
O6 : Valider la méthode sur les cas d’usage « grands publique »: outil de traitement de texte, client et serveur
Profil recherché
Le candidat devra avoir une expérience in développement logiciel. Ce qui est attendu de cette expérience est une aisance dans l'utilisation d'outil de déploiement et de mesure de performances.
Des compétences en architecture matériel sont recommandé. Une connaissance de Qemu est notamment souhaitable.
Une connaissance des ACV et des méthodes d'évaluation d'impact est un plus.
