Programme scientifique

Axes de recherche

Les axes de recherche explorés dans cette chaire seront les suivants:

  1. Mesurer et comprendre finement l’utilisation de l’énergie par le logiciel sur les différentes composantes d’une architecture de machine donnée (processeur, GPU, RAM, stockage, réseau, système d’exploitation, virtualisation, clusters);

  2. Créer des modèles de coûts en énergie, en temps et en mémoire pour prédire statiquement les coûts d’un code et son efficacité sur une architecture donnée;

  3. Intégrer des modèles de coûts dans les compilateurs optimisants pour optimiser et paralléliser du code en minimisant l’énergie, le temps ou la mémoire;

  4. Générer automatiquement du code parallèle frugal et efficace à partir d’une spécification de haut niveau d’un algorithme et des structures de données associées;

  5. Rendre visibles les coûts en temps, mémoire et énergie des logiciels existants. Guider les concepteurs de logiciels vers une conception de codes optimisés dès l’écriture du logiciel;

  6. Garantir la sûreté et la sécurité du logiciel lors des optimisations;

  7. Stratégies d”ordonnancement et de placement des tâches sensibles à l’énergie au niveau des systèmes d’exploitations et des technologies du Cloud;

  8. Permettre l’utilisation de matériel plus ancien en introduisant des mécanismes de tolérance aux pannes permettant de conserver une fiabilité élevée des systèmes informatiques, tout en gardant un niveau élevé d’efficacité en temps, en mémoire et en énergie.

Logiciels fondamentaux cibles

Fidèle à la devise de l’école des mines « Théorie et Pratique », la chaire LoRe propose une recherche fondamentale et appliquée, avec une contribution aux principaux logiciels libres d’infrastructure, des communs numériques utilisés par tous les industriels, couvrant notamment les logiciels suivants:

Ces logiciels fondamentaux jouent un rôle majeur sur les aspects d’efficacité et de sûreté: les applications développées par les industriels dépendent d’eux et profiteront donc directement des gains obtenus. Les langages de programmation majeurs verront leur performance améliorée en ciblant l’amélioration des compilateurs et des bibliothèques: Python, JavaScript, C, C++, Rust, Java.

Équipement expérimental des Mines: la plateforme Gabian

Depuis 2019, le CRI a collecté une centaine de serveurs informatiques hétérogènes déclassés, vieux d’une dizaine d’années mais en état de marche, la plupart issus des activités de calcul numérique de l’école. « Dépassés » selon les standards actuels, ils présentent néanmoins des caractéristiques architecturales proches des machines actuelles, donc transposables aux serveurs modernes par de nombreux aspects.

Quelques machines de la plateforme Gabian

Quelques serveurs de la plateforme Gabian.

Le but de cette collecte est de mettre en place une plateforme de machines expérimentales: considérées comme des déchets bien qu’étant fonctionnelles, elles peuvent être altérées et modifiées pour mener différents types d’expériences sur la consommation énergétique des applications, leur efficacité en temps, ainsi que sur le comportement des différents composants matériels quand ces derniers sont utilisés en dehors du cadre d’utilisation normal.

L’objectif du projet de plateforme Gabian est d’équiper ces serveurs de sondes permettant de mesurer la consommation énergétique et la température. La plateforme offrira ainsi un terrain expérimental concret et original pour étudier finement le comportement des logiciels et leurs améliorations, notamment sur les couches basses composées du système d’exploitation et des compilateurs. Cet équipement est fondamental pour toutes les activités de recherche de la chaire: il offre un moyen inédit de construction de modèles validés par l’expérience et la validation expérimentale des optimisations effectuées avec les modèles développés.

Cette plateforme a vocation a être renforcée par les moyens alloués à la chaire, notamment par l’achat de matériel de mesure, ainsi que par le recrutement d’ingénieurs de recherche chargés de gérer cet équipement expérimental.

Portage de la chaire par le Centre de Recherche en Informatique (CRI) de Mines Paris - PSL

Le CRI a une expérience de plus de 30 ans en amélioration du logiciel, aujourd’hui orientée vers la réduction de consommation d’énergie: quatre thèses sur le sujet de l’énergie et le logiciel ont été soutenues ou sont en cours actuellement (3 en cours, dont 1 CIFRE).

La CRI a également créé une plateforme d’expérimentation sur l’énergie sur le site de Sophia, avec plus de 100 machines et un premier matériel de mesure et de fabrication de circuits électroniques simples (projet Gabian). Augmenter les capacités de mesures de ce laboratoire d’expérimentation est l’un des objectifs de cette chaire. L’image ci-dessous montre un serveur où les lignes d’alimentation du CPU ont été instrumentées avec l’une de nos sondes.

CPU de serveur instrumentés avec une sonde de mesure d'énergie

Deux CPU de serveur instrumentés avec une sonde de mesure d’énergie.

Le centre a également de nombreuses contributions logicielles, notamment dans les compilateurs GCC et LLVM, et consolide depuis plus de deux décennies ses résultats de recherche dans un logiciel open source précurseur: PIPS (Paralléliseur Introprocédural de Programmes Scientifiques). La structure de ce logiciel est une source d’inspiration pour des compilateurs industriels comme MLIR/LLVM, qui implémente une représentation interne très proche de cette de PIPS.

Plusieurs anciens thésards du CRI travaillent actuellement dans des entreprises où ils participent à l’évolution des logiciels fondamentaux, comme des compilateurs ou des bibliothèques support (chez Amazon et NVIDIA notamment).

Le titulaire de la chaire est Georges-André Silber, qui possède à la fois une expérience académique sur le sujet ainsi qu’une expérience industrielle: il a créé et dirigé pendant 10 ans une entreprise travaillant dans le domaine du big data appliqué au domaine juridique REGMIND, où il a conçu et implémenté l’infrastructure technique à hautes performances au coeur de l’entreprise. Il est également contributeur à GCC (slides) et encadre actuellement deux thèses sur le sujet du logiciel soutenable.

Les permanents enseignants/chercheurs du CRI travaillent sur l’amélioration du logiciel et peuvent également participer aux travaux de la chaire, en encadrant des stages, thèses et post-doctorats:

Effort de recherche et budget prévisionnels

  • 6 thèses financées (2 nouvelles par an T0, T1, T2), avec une durée de financement de trois ans pour chaque thèse

  • 8 post-docs de deux ans (2 post-docs à T0, T1, T2, T3)

  • 4 postes d’ingénieurs de recherche en CDD de 5 ans

  • 25 stages de six mois pour élèves en césure, en M2 ou en fin de cycle ingénieur (5 par an)

  • missions et organisation de conférences

  • matériel d’expérimentation, achat et location de moyens informatiques

  • communication et vulgarisation scientifique