Sections

Comment rendre les applications moins énergivores ?

Comment rendre les applications moins énergivores ?

30.08.2022, par
C’est un vrai problème écologique : les applications mobiles semblent consommer toujours plus d’énergie. À Lille, Romain Rouvoy et ses collègues, chercheurs en sciences du logiciel, travaillent à rendre ces programmes informatiques plus sobres. Détails.

Nos équipements numériques sont de vrais ogres énergétiques ! Selon l’Agence de la transition écologique (Ademe), téléphones, tablettes et autres écrans connectés (ou pas) sont responsables de pas moins de 10 % de la consommation électrique française, ce qui équivaut à la consommation annuelle de près de 8,3 millions de foyers. Et les choses ne vont pas en s’arrangeant : d’après l’association Shift Project, la consommation énergétique du numérique grimpe de 9 % chaque année. Or, en plus d’alourdir la facture des utilisateurs, cette tendance à la hausse accroît l’impact du numérique sur l’environnement, la fabrication d’électricité émettant des gaz à effet de serre (GES), responsables du réchauffement climatique.

L'empreinte carbone du numérique devrait doubler d'ici 2025

Toujours d’après l’Ademe, le numérique génère 3,5 % des émissions mondiales de GES, soit plus que le transport aérien civil (2 %) et, du fait de la forte augmentation des usages dans ce domaine, cette « empreinte carbone » devrait doubler d'ici 2025. D’où la nécessité de réduire la consommation des équipements à tous les niveaux possibles : du smartphone jusqu’au cloud, ces services informatiques (serveurs, système d’exploitation, logiciels) accessibles sur Internet.

D’après l’Agence de la transition écologique (Ademe), le numérique génère 3,5 % des émissions mondiales de GES, soit plus que le transport aérien civil (2 %) .

Si la consommation liée au fonctionnement du téléphone lui-même est un sujet de préoccupation majeur des fabricants de matériel depuis plusieurs années, et a déjà mené à des évolutions notables (conception de processeurs, de capteurs et de batteries plus efficients), ce n’est encore pas le cas pour la consommation des nombreuses couches logicielles embarquées par ces téléphones. « À ce jour, les développeurs de logiciels sont plus encouragés à réduire les temps de développement de leurs applications qu’à optimiser le code en lui-même », observe Romain Rouvoy, chercheur en génie logiciel au Centre de recherche en informatique, signal et automatique de Lille1 (CRIStAL).

C’est que la prise de conscience de cette problématique est relativement récente. Ainsi, le groupe de Romain Rouvoy, un des pionniers dans ce domaine, ne s’intéresse à cette thématique que depuis une dizaine d’années : « En 2010, alors que nous travaillions dans le cadre d’un projet baptisé EcoHome, qui visait à mieux comprendre la consommation des box internet domestiques afin de mieux la maîtriser, nous avons observé que les logiciels étaient grandement responsables de la consommation énergétique globale des systèmes informatiques », raconte le chercheur.

Les « obésiciels », un appétit d'ogre

Deux types de logiciels concourent à augmenter la consommation électrique d’un smartphone en phase d’utilisation : « les programmes informatiques opérant les applications utilisées sur ce type d’appareil ; et les logiciels distants des data centers (ou centres de données), ces réseaux d'ordinateurs et d'espaces de stockage répartis dans le monde entier, où sont hébergés les serveurs du cloud, et où peuvent être transférées et traitées les données collectées par les applications », détaille Romain Rouvoy.

Ligne de production de smartphones dans l'usine chinoise de Dongguan (mai 2017). Malgré les évolutions dans la conception des mobiles (processeurs, batteries) des progrès doivent être menés au niveau des logiciels qui restent gourmands en énergie.
Ligne de production de smartphones dans l'usine chinoise de Dongguan (mai 2017). Malgré les évolutions dans la conception des mobiles (processeurs, batteries) des progrès doivent être menés au niveau des logiciels qui restent gourmands en énergie.

L’appétit énergétique de ces différents logiciels ne cesse de croître ; au point que désormais les informaticiens parlent d’« obésiciels ». La raison à cette dérive ? « L’amélioration de la puissance des smartphones et l’apparition de nouvelles générations de réseaux mobiles plus performantes, en permettant d’envoyer de plus importants volumes de données (3G, puis 4G et maintenant 5G), ont poussé les développeurs à proposer de nouvelles fonctionnalités et de nouvelles applications, toujours plus nombreuses… et donc toujours plus énergivores. C’est le paradoxe de Jevons (du nom de l’économiste britannique William Stanley Jevons qui l’a mis en évidence), dit aussi "effet de rebond", selon lequel le développement de technologies plus efficaces, permettant en théorie de faire des économies d’énergie, augmente paradoxalement la quantité d’énergie consommée », éclaire Romain Rouvoy.

Selon le paradoxe de Jevons, dit aussi "effet de rebond", le développement de technologies plus efficaces, permettant en théorie de faire des économies d’énergie, augmente paradoxalement la quantité d’énergie consommée.

Voilà pourquoi, si la puissance moyenne de la batterie des équipements mobiles ne cesse d’augmenter, la fréquence de leur rechargement ne diminue pas... Dans l’espoir d’aider les développeurs à créer des programmes « écoconçus » consommant moins d’énergie, l’équipe de Romain Rouvoy développe toute une série d'outils. « La première étape pour relever un tel défi est d’estimer la consommation énergétique des programmes actuels et d’identifier les portions de code informatique particulièrement consommatrices. C’est la pierre angulaire dans la conception de systèmes plus efficients », explique le chercheur. 

Dès 2012, il a codéveloppé une « sonde » virtuelle baptisée PowerAPI2, capable de mesurer la consommation de chaque programme s'exécutant sur une machine et d’estimer ainsi le suivi en temps réel de la consommation d'énergie. Mais d’autres outils, plus puissants, sont nécessaires pour guider le développement de logiciels de plus en plus complexes. D’où l’importance d’intensifier la recherche dans ce domaine.

Au niveau des codes informatiques mêmes, « une solution pour les rendre moins énergivores pourrait être de recommander, pour telle ou telle application, un type de langage de programmation plus qu’un autre, sachant que pour une même fonctionnalité, la consommation peut varier d’un facteur 100, selon le langage informatique choisi (Java, Python, JavaScript, etc.). On pourrait aussi optimiser les nombreuses requêtes échangées entre les serveurs distants et le smartphone », poursuit Romain Rouvoy.

Réduire la consommation des centres de données

Pour ce qui est des logiciels hébergés sur des serveurs distants, où sont souvent envoyées et traitées les données collectées par les applications, « une possibilité pour diminuer leur consommation est de mieux gérer leur fonctionnement au sein d’un même centre de données, de manière à utiliser beaucoup moins de serveurs et – surtout – leurs ressources (énergie, mémoire, etc.) », reprend le chercheur lillois. Lors de travaux décrits en 20173, l’informaticien et ses collègues ont conçu un logiciel « ordonnanceur » capable d’orchestrer les différents logiciels d’un centre de données cloud. Et bingo : l’utilisation de cet outil a permis de réduire la consommation globale de l’infrastructure de 23 %. Et ce, en conservant des performances similaires.

Serveurs dans la salle informatique du centre de données Scaleway, filiale du groupe français de fournisseurs de services sans fil Free, à Saint-Ouen-l'Aumone (95).
Serveurs dans la salle informatique du centre de données Scaleway, filiale du groupe français de fournisseurs de services sans fil Free, à Saint-Ouen-l'Aumone (95).

Depuis janvier 2022, Romain Rouvoy et ses collègues coordonnent un nouveau projet visant à définir, cette fois, des recommandations précises sur les programmes informatiques et les configurations les plus adaptés pour diminuer la consommation énergétique des logiciels du cloud : le programme « Distiller4 », financé à hauteur de 664 580 euros par l'Agence nationale de la recherche.
 

Les chercheurs ont conçu un logiciel « ordonnanceur » capable d’orchestrer les différents logiciels d’un centre de données cloud, qui  a permis de réduire la consommation globale de l’infrastructure de 23 %.

« Grâce à différents algorithmes d'intelligence artificielle, nous pourrons étudier l'ensemble des couches logicielles d’une application cloud, et raisonner plus globalement pour proposer des configurations optimisées de bout en bout », précise le chercheur. Son équipe n’est pas la seule sur le coup ! Désormais, plusieurs autres groupes de recherche, à l’étranger (Canada, États-Unis…) et un peu partout en France (Rennes, Pau, Lyon, Bordeaux, Nantes…), développent des solutions d’écoconception logicielle. C’est le cas par exemple de l’équipe d’Anne-Cécile Orgerie, à l’Institut de recherche en informatique et systèmes aléatoires5 (Irisa), de Rennes.

Depuis 2021, dans le cadre du projet « Decorus6 » du CNRS, ces chercheurs tentent d’optimiser la consommation des centres de données en y intégrant des énergies renouvelables (énergie solaire, éolienne…). « Un de nos buts majeurs est de déterminer s’il est possible de développer des codes permettant de faire en sorte que l’exécution des applications de smartphones sollicitant les serveurs d’un centre de données, et ne nécessitant pas d’être réalisées rapidement (comme les sauvegardes), soit retardée et effectuée seulement quand il y a production de l’énergie renouvelable (la journée, par exemple, pour le solaire) », développe Anne-Cécile Orgerie. La transition vers des logiciels moins énergivores est en marche… ♦

A lire sur notre site
Verdir les centres de données (point de vue)
Numérique, le grand gâchis énergétique

 

Notes
  • 1. Unité CNRS/Université de Lille/Centrale Lille Institut ; équipe Spirals (Self-adaptation for distributed services and large software systems : Auto-adaptation pour les services distribués et les grands systèmes logiciels).
  • 2. http://powerapi.org/ ; PowerAPI: A Software Library to Monitor the Energy Consumed at the Process-Level: A. Bourdon, A. Noureddine, R. Rouvoy, L. Seinturier. ERCIM News, Special Theme: Smart Energy Systems, 92, pp.43-44. ERCIM, 2013.
  • 3. Aurélien Havet et al. « GenPack: A Generational Scheduler for Cloud Data Centers ». 5th IEEE International Conference on Cloud Engineering (IC2E), Apr 2017. DOI Bookmark: 10.1109/IC2E.2017.15
  • 4. Pour « recommenDer servIce for SusTaInabLe cLoud nativE softwaRe » : service de recommandation pour des logiciels natifs du cloud durable. Mené en collaboration avec Davidson consulting, une société de conseil en management et expertise technologique, OVHcloud, un fournisseur de services cloud, et Orange.
  • 5. Unité CNRS/Université de Rennes 1.
  • 6. Pour « Distributed Edge Computing powered Only by Renewable energy soUrceS » : « Edge computing distribué, alimenté uniquement par des sources d'énergie renouvelables ».
Aller plus loin

Auteur

Kheira Bettayeb

Journaliste scientifique freelance depuis dix ans, Kheira Bettayeb est spécialiste des domaines suivants : médecine, biologie, neurosciences, zoologie, astronomie, physique et nouvelles technologies. Elle travaille notamment pour la presse magazine nationale.

Commentaires

0 commentaire
Pour laisser votre avis sur cet article
Connectez-vous, rejoignez la communauté
du journal CNRS