Une collaboration pour un Python eco-friendly

La consommation énergétique dans le domaine des TIC ne cesse d’augmenter. Les data centers représentent actuellement 6% de la consommation énergétique mondiale et pèsent considérablement sur les dépenses des opérateurs et des fournisseurs de service. Malgré cela, l’efficacité énergétique demeure l’un des paramètres les plus négligés par les développeurs de logiciels.

Dans ce contexte, Davidson et Inria conduisent ensemble un projet de recherche autour de l’évaluation et de l’optimisation de l’empreinte énergétique des langages de programmation. L’objectif est d’identifier et d’établir un ensemble de recommandations, visant à réduire de manière notable et durable la consommation énergétique. Compte-tenu de sa popularité grandissante, l’équipe de recherche s’intéresse aux opportunités ouvertes par le langage Python, avec l’ambition de concilier performance, sécurité et efficacité énergétique pour un large spectre d’applications.

Afin d’atteindre cet objectif, l’équipe a conçu et déployé un outil de mesure reposant sur le logiciel PowerAPI. Ce dernier permet d’estimer, en temps réel, la puissance consommée par un logiciel en collectant des métriques qui proviennent de différents composants matériels (processeurs, mémoire, etc.) et du système d’exploitation.

En s’appuyant sur cet environnement de mesure, l’équipe de recherche a comparé l’empreinte énergétique d’un ensemble d’algorithmes sur différentes versions de Python.
D’autre part, une étude a été effectuée sur l’impact de l’utilisation d’une bibliothèque et des classes de variables spécifiques par rapport à d’autres.
Ces données ont permis de caractériser l’apport de chacune des techniques et des composantes matérielles (en fonction de leurs caractéristiques) dans le bilan énergétique global.
À la suite de ces travaux, en nous basant sur des algorithmes Python développés par l’équipe IA-Twister de Davidson (traitement automatique de langage naturel, collecte et prédiction de data, optimisation, fouille de texte…), l’équipe de recherche envisage de proposer, pour chaque classe d’algorithmes, des recommandations sur l’environnement idéal de compilation et d’exécution, les bibliothèques à privilégier, mais aussi les conventions de codage (ordre d’exécution des conditions et des boucles) afin d’assister au mieux les développeurs dans la mise en œuvre de logiciels plus eco-friendly.

Plus d’informations sur nos projets de R&D: innovation@davidson.fr