Catégorie : Logiciels

Idée – Chiffrer l’execution des logiciels en Wh, en Euros et en CO2

« On ne peut améliorer ce qu’on ne peut mesurer » Lord Kelvin

La mesure me permet d’adapter mon comportement au quotidien, par exemple en voiture pour évaluer mes performances en éco-conduite ou encore en vélo pour évaluer ma progression sur mon parcours préféré. Je n’ai pu m’empêcher de transposer cette démarche à l’informatique, une de mes passions.

Au fil du temps, j’ai ainsi installé sur mon PC portable plusieurs outils de mesure ou de monitoring qui me sont maintenant indispensables pour gérer convenablement au quotidien les ressources de ma machine.

En voici quelques uns :

  • L’incontournable firewall (Sygate personnal firewall) pour contrôler et de visualiser l’accès au réseau de tous les processus en cours d’exécution.
  • Process Explorer, un complément au gestionnaire des tâches qui fournit des informations détaillées sur les processus en cours d’exécution.
  • DU Meter, pour contrôler l’activité réseau d’un rapide coup d’œil et évaluer sur les échanges de données pour chaque interface réseau grâce à des statistiques.
  • Notebook Hardware Control, qui m’a permis d’ « undervolter » le processeur et m’indique en un coup d’œil le taux d’occupation CPU, sa fréquence et une estimation de la consommation en Watt lorsque l’ordinateur fonctionne sur batterie.
  • I8KfanGUI, spécifiquement développé pour les ordinateurs portables DELL pour contrôler plus finement le déclenchement des ventilateurs et permet de garder un œil sur les températures des composants qui génèrent le plus de chaleur tels que le processeur et la carte graphique.

L’idée : un outil pour chiffrer en Wh, en Euros et en émission de GES des logiciels installés

Alors que l’on voit fleurir les wattmètres au sein de nos habitations (voir l’article sur les smart meter) pour mesurer la consommation individuelle de chaque équipement, il m’est venu l’idée d’un outil qui mesurerait la consommation de chaque logiciel et la chiffrerait en Wh, en Euros (en fonction du fournisseur) et en émission de gaz à effet de serre (en fonction de la provenance de l’électricité).

Quel intérêt ? Contrairement à la plupart des équipements électroniques, la consommation électrique d’un ordinateur est extrêmement variable en fonction de sa charge de travail. Or, ce sont les logiciels qui s’exécutent sur l’ordinateur qui font varier cette charge. A titre d’exemple, mon PC portable consomme au repos entre 20 et 25 Wh/h et peut consommer en pleine charge jusqu’à 90 Wh/h. L’écart de consommation peut être encore plus important pour des PC de bureau équipés d’une carte graphique performante.

Partant de ce constat, l’idée serait créer un logiciel de monitoring des processus qui tournent sur le système d’exploitation (comme le classique gestionnaire des tâches)qui estimerait en plus la consommation électrique, le coût en euros de chaque processus/logiciel exécuté et les émissions de GES (Gaz à Effet de Serre) correspondantes à la consommation d’électricité. On pourrait alors appliquer les principe de l’écoconception aux logiciels.

Me sentant tout à fait incapable de réaliser ce projet seul, je vous partage ici quelques unes de mes réflexions.

Voici quelques fonctionnalités qui pourraient être implémentées (n’hésitez pas à rajouter en commentaires d’autres fonctionnalités auxquelles vous pourriez penser) :

  • Consommation instantanée en Watt de chaque processus.
  • Consommation cumulée en Wh depuis que le logiciel est démarré et depuis que la machine est démarrée.
  • Consommation cumulée depuis que le logiciel de monitoring est installé sur la machine et idéalement, depuis que chaque logiciel monitoré est installé.
  • Evaluation de ces différentes consommations en € (prix du KWh configurable ou auto en fonction du pays d’installation et du fournisseur d’énergie).
  • Evaluation de ces différentes consommations en termes d’émissions de GES. Calcul en fonction du fournisseur d’électricité et/ou de la source de production de l’électricité.
  • Proposer aux personnes qui installent ce logiciel d’alimenter automatiquement et de manière transparente une base de données dans laquelle on collectera la consommation des logiciels utilisés par les utilisateurs pour en tirer des statistiques (un peu à la manière de l’éditeur de benchmark Futuremark avec son outil ORB et ses statistiques ).

Comment évaluer la consommation d’un processus ?

On sait que la consommation de l’ordinateur, et plus précisément celle de l’unité centrale, varie en fonction de la charge de travail (matérialisée par le % de la charge CPU).

A l’aide d’un Wattmètre, il suffit donc d’étalonner le logiciel à l’installation avec la consommation électrique de l’unité centrale à chaque pourcentage de charge CPU (ou dizaine de pourcentage si on ne veut pas faire 100 mesures) pour obtenir une consommation moyenne par pourcentage de charge.

Pour éviter d’entrer manuellement ces mesures, on peut imaginer de distribuer ce logiciel avec un wattmètre communicant (du type Tweet-A-Watt de la Green Gadget competition) avec une phase automatique d’étalonnage à l’installation du logiciel, le wattmètre communiquerait au logiciel la consommation de l’UC à chaque pourcentage de charge.

Limitations :

  • Les applications 3D sollicitent, en plus du CPU, la carte graphique. Or la carte graphique, en mode 3D, peut augmenter très significativement la consommation globale du PC. Il est possible de contourner cette limitation si on effectue un étalonnage spécifique aux applications 3D (les drivers sont capables de détecter si l’application est 3D ou pas, il est probablement possible de faire de même pour ce logiciel). Cet étalonnage permettra au joueurs invétérés de mesurer la consommation électrique (et ce que ca coûte en € aux parents) de leurs jeux favoris sur PC.
  • De nombreux processeurs sont maintenant capables de moduler leur tension et leur fréquence en fonction de la charge de travail afin d’économiser de l’énergie. Par conséquent, la performance par watt varie avec la fréquence. Par exemple, un pentium M cadencé à 800MHz aura peut être une meilleure performance par watt que cadencé à 2260MHz, sa fréquence maximum à laquelle il perd beaucoup d’énergie en chaleur. Ainsi, si une charge de travail de 10% lorsque le CPU est cadencé à 800MHz équivaut à une charge de travail de 3,5% lorsque ce même CPU est cadencé à 2260MHz, la quantité d’énergie dépensée pour cette même charge dépendra du rendement du CPU à ces mêmes fréquences.

FLohier

Avec une Licence en poche et après plusieurs expériences professionnelles dans le domaine technique, j’ai obtenu un Master 2 Management et Technologies de l’Information à l’IAE d’Aix en Provence. Je suis actuellement attaché adjoint pour la Science et les Technologies de l’Information et de la Communication (STIC) à l’Ambassade de France à Washington DC. Par ailleurs, je suis depuis toujours un fervent pratiquant de cyclisme, sport qui sensibilise à la consommation d’énergie et à l’environnement. Très curieux de nature et avide d’informations, j’essaye de vous faire partager ici mes réflexions et ce qui ressort de ma veille technologique surle Green IT.

Site web