Exclusif : Intel mesure l’efficience énergétique des logiciels

Intel - Energy Checker - optimisation de l'efficience énergétique d'un logiciel

Évaluation de l'efficience énergétique d'un traitement d'image sous PovRay (http://www.povray.org/)

Intel vient de publier le kit de développement (SDK) "Intel Energy Checker" qui facilite l’instrumentation du code source d’un logiciel afin d’évaluer son efficience énergétique et de l’optimiser en cours de développement. Kevin Bross, qui travaille sur le projet depuis 2 ans, illustre l’approche par un exemple : "Un automobiliste qui souhaite se rendre derrière une colline consommera plus d’énergie s’il décide de passer par le sommet que s’il la contourne. Dans le même esprit, un logiciel peut être plus "efficient" s’il met en œuvre un algorithme qui "contourne la colline" plutôt qu’une approche par force brute qui est peut être plus simple/rapide à mettre en œuvre mais consomme plus d’énergie."

Un compteur d’unités de "travail utile" connecté à un Wattmètre

Dans cette logique, Intel Energy Checker permet de mettre en place un compteur d’unité de « travail utile ». Par exemple, pour évaluer un serveur de courrier, l’indicateur pourra être un envoi de courriel, pour un logiciel de traitement d’image, cela pourrait être le calcul du rendu d’un pixel, ou encore, pour un serveur de base de données, l’indicateur peut être une requête définie. Comme le SDK d’Intel est compatible avec un certain nombre de wattmètres, on peut facilement obtenir un indicateur d’efficience global de la solution matériel + logiciel : par exemple : wh consommés / courriel envoyé, wh consommés / pixel calculé, wh consommés / requête SQL).

Comparer l’efficience énergétique de solutions logicielles équivalentes

Au delà de l’optimisation à priori, Intel Energy Checker est très intéressant pour comparer l’efficience énergétique, à posteriori, de deux solutions logicielles équivalente. Les différences en consommation de ressources (CPU, mémoire, espace disque, etc.) entre deux logiciels qui fournissent le même travail peuvent être énormes ! Facebook a par exemple divisé par 2 la consommation électrique de ses serveurs en compilant le code PHP de son site (projet HipHop for PHP). Encore plus impressionnant, le serveur web G-WAN consommerait 15 fois moins de ressources que le serveur web Apache.

Intel Energy Checker est une excellente nouvelle car la couche logicielle joue un rôle prépondérant dans la performance globale d’une application. En entreprise, c’est également le premier facteur de renouvellement des postes de travail. Or, si l’optimisation de l’efficience énergétique du matériel progresse vite, rien n’est fait pour l’instant du côté du code.

Le kit de développement, gratuit, peut s’éxecuter sur Windows, Linux, Solaris 10, Mac OS X et a été conçu pour être exploité au sein de datacentres, mais peut être utilisé sur des machines clientes et sur des plateformes mobiles.

Télécharger le SDK « Intel Energy Checker »


Commentaires

Je serais curieux de tester cette solution afin de voir exactement quels indicateurs sont fournis et la facilité (ou non) d’intégration de l’API.
Il existe déjà des solutions permettant d’améliorer rapidement la qualité du code implémenté, de code coverage, d’analyse de runtime, de performance tuning et autre(en Java, par exp, me viennent les noms EMMA, JMETER, JRAT etc.) .
Outils que tout projet informatique devrait mettre en œuvre.
Je ne crois pas toutefois que ceux-ci fournissent des indications exactes sur les cycles d’horloge nécessaire à chaque opération et aux coût énergétique induits.

Denis Meudec le 19/02/2010

@Denis : c’est à l’utilisateur de définir ses propres indicateurs. Le SDK d’Intel te fournit uniquement le moyen technique d’instrumenter ton code.

admin le 19/02/2010

Voir aussi les autres initiatives d’Intel présentées à l’occasion de l’IDF Pekin 2010 en matière d’efficience énergétique : http://www.pcinpact.com/actu/news/56404-intel-energie-sdk-edf-voiture.ht…

FLohier le 19/04/2010

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement.