L'écoconception d'un logiciel ou d'un site web permet de réaliser d'importantes économies d'énergie au sein des centres informatiques. Et ce, tout en allongeant la durée de vie des postes utilisateurs. Mais elle nécessite d'apprécier finement la consommation en ressources ? cycles processeur, espace disque, quantité de mémoire vive, etc. ? des diverses parties du code de l'application.Jusqu'à présent, la mesure se limitait souvent au logiciel dans son ensemble, à l'aide d'un wattmètre. Mais les portions de code à optimiser n'étaient alors pas identifiées. De plus,
“ le travail d'étalonnage d'un wattmètre est d'autant plus fastidieux que l'évaluation recherchée est fine, constate Olivier Philippot, fondateur du Green Code Lab.
Impossible de jauger avec un wattmètre des éléments précis comme une fonction applicative spécifique. ”Une bibliothèque gratuite, précise et modulaire
C'est pour affiner ces calculs que l'équipe du projet Adam (Inria et Université Lille 1) propose la bibliothèque PowerAPI. Elle se distingue des outils existants par sa précision. Un progrès grâce auquel les développeurs se passent d'une mesure physique. Pour obtenir un tel niveau de précision,
“ l'estimation se fonde sur la consommation énergétique des divers composants matériels exploités : disque, processeur, mémoire, etc., explique Aurélien Bourdon, qui développe le projet à l'Inria.
En collaboration avec les chercheurs de notre équipe, nous définissons ou étendons des modèles analytiques de consommation énergétique. Le code associé à ces derniers modèles est déposé à l'Agence pour la protection des programmes. ”Sous licence libre (AGPL), la bibliothèque est téléchargeable gratuitement. Son architecture étant modulaire, sa couverture fonctionnelle et technique devrait vite se trouver étendue. La configuration des composants matériels de la machine sur laquelle s'exécute le logiciel à mesurer s'effectue, pour l'instant, manuellement. Mais
“ nous réfléchissons à la création automatique du fichier de configuration, explique Aurélien Bourdon.
L'idée étant de développer une base de données accessible en ligne, éventuellement alimentée par la communauté d'utilisateurs, et servant de support de déploiement pour PowerAPI. ” Grâce à la licence AGPL et à l'architecture modulaire, les développeurs ont aussi la possibilité d'étendre les fonctionnalités de la bibliothèque en tenant compte de leurs contraintes. Pour un composant multimédia déployé sur un site web, le développeur pourra, par exemple, intégrer l'évaluation de la charge du processeur graphique.
Deux outils bientôt disponibles
PowerAPI est déjà utilisé dans plusieurs démonstrateurs développés par l'équipe du projet Adam et par deux outils publics bientôt disponibles. Le premier, en cours de développement à l'Inria, fournira un moyen simple pour analyser la consommation énergétique des composants d'un logiciel. Le second, soutenu par l'Ademe, est le projet Web Energy Archive du Green Code Lab. Avec ce service en ligne, n'importe quelle entreprise mesurera la consommation électrique de son site web, en déduira les impacts environnementaux associés (émissions de CO
2 notamment) et comparera ces chiffres à la moyenne des sites du même type. L'objectif est de pousser les organisations à écoconcevoir leur site et de les accompagner. A terme, PowerAPI pourrait être intégré dans des environnements de développement intégrés (IDE) tels que Eclipse.
Votre opinion