Stage - Développement d'une fréquence d'acquisition dynamique au sein d'Alumet R&D
BullEchirolles, FR (On-site)
Au sein de la R&D Bull, l’équipe SEED (Software for Energy Efficiency and Decarbonization) conçoit des solutions logicielles pour la mesure et la réduction de l’empreinte carbone du numérique.
Son savoir-faire est centré autour de trois piliers :
- Les systèmes distribués (HPC, Edge Computing)
- Le monitoring de l’énergie et la mesure carbone
- La collaboration avec le monde universitaire
L’équipe collabore au projet open source Alumet (Adaptive, Lightweight, Unified Metrics), développé en Rust. L’objectif est d’unifier la collecte de métriques logicielles et matérielles, notamment la consommation d’énergie, avec une fréquence d’acquisition élevée et un impact minimal.
Pour ce stage, l’objectif est d’intégrer une fréquence d’acquisition dynamique au sein d’Alumet. Dans le cadre du monitoring d’un nœud de calcul, la fréquence d’observation s’adaptera automatiquement à l’activité :
- Activité faible : fréquence minimale, de 1 Hz ou moins.
- Activité détectée : fréquence augmentée sur les métriques ciblées, comme le CPU et le GPU, afin d’analyser précisément la charge, à 100 Hz et plus.
Cette approche vise à rendre la collecte et le stockage des données plus efficaces et écoresponsables. La solution sera conçue en collaboration avec les chercheurs du LIG/Inria, en appliquant la théorie du contrôle.
Mission
Le stage se déroulera en cinq étapes :
- Montée en compétence sur la théorie du contrôle.
- Élaboration d’un protocole expérimental pour l’identification du système.
- Conception de la solution pour son intégration dans Alumet.
- Développement et industrialisation de la solution.
- Intégration et validation sur la plateforme SEED.
Le cadre de développement respectera des exigences de qualité scientifique et technique : bibliographie, détail des hypothèses de travail et des approximations, tests unitaires, documentation du code et intégration continue.
Profil
- BAC+5 en informatique.
- Solides compétences en programmation ; la connaissance de Rust est un plus.
- Pratique des tests unitaires et de l’intégration continue.
- Affinité pour les problématiques de développement durable.
- Excellentes compétences de communication et de documentation, ainsi qu’une capacité à travailler en équipe dans un environnement dynamique selon une méthode Scrum/Agile.
- Esprit analytique, créativité et goût pour la résolution de problèmes.