Tester la corrélation de la CPU et de la consommation électrique

7avoir_volt2.PNG

Dans un précédent article, Olivier Philippot présentait un appareil de mesure de la consommation électrique et son utilisation sur une imprimante.

En reprenant le même appareillage, j’ai voulu essayer de démontrer que la consommation électrique d’un PC était directement liée à l’utilisation de son processeur. L’objectif: démontrer que les logiciels que nous utilisons ont bien un impact sur notre facture énergétique.

Pour cela j’ai mis en place sur le PC à étudier un protocole de mesure comprenant:

  • l’appareil de mesure de la consommation électrique , placé sur la prise de courant auquel le PC est connecté,
  • un logiciel “maison” qui enregistre à intervalle régulier dans un fichier la consommation CPU du PC.
  • J’ai ensuite réalisé différentes mesures: soit sur une utilisation régulière de la machine soit en “stressant” la CPU via des programmes qui réalisent un grand nombre d’opérations.

    Résultat de ces tests: la forme de la courbe de consommation électrique suit clairement celle de l’utilisation de la CPU. On constate même que la consommation électrique peut augmenter de 30 et 100% en fonction de la sollicitation de la CPU.

    Si la CPU n’est pas la seule ressource qu’utilise une application (il y a également les entrées/sorties disque, les sollicitations réseaux et l’affichage), celle-ci a donc un impact très important sur la consommation globale.

    Voilà qui ne fait qu’accentuer l’importance du travail d’optimisation des performances des applications: moins de CPU c’est plus d’économie d’énergie et c’est probablement la possibilité de faire appel à moins de matériel, comme l’annonçait récemment Facebook en passant de PHP à C++. Un cercle vertueux qu’il n’est pas inutile de rappeler régulièrement aux développeurs.

    On suivra donc avec attention les Green Patterns de développement qui sortiront du Green Challenge organisé par greenIT.fr en partenariat l’Université du SI.


    Commentaires

    Bonjour, le processeur est en effet l’un des éléments dont la consommation a la plus grande amplitude dans un PC, grâce à toutes les techniques de réduction de la fréquence et de limitation de la montée en température.

    Avec une pince ampéremétrique sur le 12 V de l’alimentation, on peu encore plus finement mesurer la consommation exacte du processeur. Sur nos cartes mères avec des processeurs d’ordinateurs portables, comme par exemple un AMD Turion X2 à 2200 MHz, la consommation passe de 2.5W au repos à 27W en pleine charge. Il est aussi intéressant de noté que la fréquence n’est pas le seul facteur de consommation. En effet si on bloque le processeur à 800 MHz, par exemple, la consommation pourra varier entre 2.5W s’il ne fait rien à 12W si les deux coeurs fonctionnent à fond (avec une appli comme cpuburn).

    Warly (non vérifié) le 29/06/2010

    N’ayant jamais été un scientifique aguerri mes conclusions pourraient être fausse mais je me demande s’il ne serait pas plus judicieux de parler de rentabilité du watt.
    Certes, un processeur qui travaille peu consomme moins, mais il fait aussi peu de chose. Alors qu’à 50% d’utilisation le processeur fait 5 fois plus de calcul il ne consomme que 1.3 fois plus (selon la courbe). Le rapport consommation utilisation CPU est donc plus optimum qu’à 10%.

    Etenclin (non vérifié) le 29/06/2010

    @Etenclin : le bon ratio est le FLOPS / Watt ou mieux le nombre de traitements métiers / kWh.

    admin le 29/06/2010

    Exactement Etinclin. Le processeur est généralement plus efficace à sa fréquence nominale. Il est ainsi plus efficace énergétiquement de passer de 800 MHz à 2200 MHz pour faire un calcul très vite que de le faire plus lentement à 800 MHz.

    Voilà un exemple sur le calcul de décimales de Pi sur mon portable, avec une mesure du nombre de décimale par Joule :

    Calcul de Pi, 100 millions de décimales, 883 secondes à 800 MHz, environ 29Watts, 25 kJ, 4000 décimales/J

    Calcul de Pi, 100 millions de décimales, 395 secondes à 1800 MHz, environ 49Watts, 21 kJ, 4760 décimales/J

    Calcul de Pi, 220 millions de décimales, 1000 secondes à 1800 MHz, environ 49Watts, 50 kJ, 4400 décimales/J

    Le calcul est plus efficace 1800 MHz qu’à 800 MHz, cependant pour un gros calcul, 220 millions de décimale, l’efficacité descend. À partir d’un certain moment le processeur surchauffe, et de l’énergie est alors dépensée pour le refroidir, diminuant l’efficacité énergétique.

    La bonne fréquence est donc un compromis entre la vitesse pour bénéficier de l’efficacité optimale du processeur, mais aussi une certaine mesure pour éviter l’échauffement et ne pas enclencher des processus de refroidissement onéreux en énergie.

    Warly (non vérifié) le 29/06/2010

    La démarche est intéressante mais la conclusion mérite d’être approfondie, le pic à 100% de CPU est louche, la conso semble monter avant le démarrage du test-stress. Problème de précision peut-être mais lors du test à 50%, la logique temporelle est respectée. C’est gênant car les 2 tests sont identiques à la charge CPU près.

    Plus ennuyeux à 16h22, la conso électrique chute pour revenir à sa valeur de base, par contre la charge CPU reste à 100%. Euh comment dire … y a pas comme un gros blème là ?

    Donc non, la courbe de puissance ne suit pas clairement la charge CPU. Sans verser dans une rigueur scientifique extrémiste, la conclusion n’est pas valide.

    nanette (non vérifié) le 29/06/2010

    @nanette: exact … selon moi l’analyse doit être beaucoup plus fine que cela pour tirer des conclusions.

    HervéS (non vérifié) le 29/06/2010

    Il est clair que la CPU a un impact directe sur la consommation du PC.
    Mais je vois le problème différemment: sur une journée de travail d’un utilisateur, combien de Kwh sont utilisés pour le travail effectif de la personne?
    Je n’ai pas les chiffres en tête, mais il est clair que la CPU ne “travaille” pas beaucoup sur une journée; il faut donc faire la chasse au gaspillage sur les temps où la CPU est au “ralenti”.
    Dans ce cas, c’est la fréquence d’horloge qui faut baisser pour réduire la consommation.

    Jean-Christophe ISAAC (non vérifié) le 29/06/2010

    @JC Isaas : +1. C’est d’ailleurs l’approche d’AVOB => http://www.greenit.fr/tag/avob

    admin le 29/06/2010

    @admin : Article AVOB: “Un PC allumé inutilement coûte en effet 19 à 30 euros par an et […] AVOB est commercialisé 25 euros par poste et par an.”
    Difficile de justifier le prix tout de même …
    Autant investir plus dans de la sensibilisation a mettre le PC en veille ou à l’éteindre, voire plus tard, utiliser des Green Pattern …

    HerveS (non vérifié) le 29/06/2010

    @nanette, le détail de l’expérimentation est accessible via le lien “Voir aussi” (en haut à droite de l’article). Il montre notamment les courbes comparées sur l’utilisation régulière de la machine (sans stress). Le stress à 100% de la CPU pendant une longue période n’étant pas forcément une utilisation habituelle.

    Il est vrai néanmoins que d’autres mesures seraient nécessaires pour approfondir ces premiers résultats. Mais cette étude a plus une valeur de sensibilisation qu’une valeur de démonstration.

    LLaske le 29/06/2010

    @HerveS: oui je connais bien l’offre Avob.
    Pour la tarification, le principe est différent pour les grands comptes; il y a une phase d’audit pour estimer la consommation du parc informatique et les économies réalisables. Le coût des licences est alors déterminé pour offrir au client un ROI de 11 à 15 mois.
    Le coût à 25 euros concernent les cas sans audit, PME par exemple; 25 euros est aussi l’économie moyenne constatée sur un an par Avob chez ses clients.
    Il est vrai qu’il faut sensibiliser les utilisateurs à éteindre/mettre en veille leur PC; en général ça marche bien au début mais avec le temps, il faut y revenir, rabâcher, suivre, pister, etc. L’intérêt de l’outil est que ça devient plus systématique et qu’on a presque plus à suivre.

    Jean-Christophe ISAAC (non vérifié) le 30/06/2010

    @JC ISAAC: ok je comprend mieux .. en fait ils basent la trification par rapport à un ROI supposé … connaissez vous aussi le logiciel de SERDEN / going greener ?

    HerveS (non vérifié) le 30/06/2010

    @Lionel : Je trouve que la corrélation entre l’utilisation CPU et la consommation est bien prouvé.
    Ensuite il serait intéressant de connaître la configuration et l’utilisation du processeur : utilisation des technologies EIST ? turbo boost ? Cela expliquerait la non-corrélation remonté par Nanette.
    La mesure de l’utilisation du disque dur serait en plus un paramètre important d’analyse. HD tune par exemple permet cela : http://www.hdtune.com/.

    Olivier Philippot le 30/06/2010

    @HervéS : en fait le coût de licence d’Avob est variable selon la quantité de postes de travail et d’autres paramètres. Donc le logiciel peut coûter moins cher.

    admin le 30/06/2010

    Voilà un article qui démontre l’intérêt de l’optimisation logiciel. Mis à par l’intérêt écologique un programme bien optimisé est plus confortable à utiliser

    Amanda (non vérifié) le 30/06/2010

    Moi j’utilise KAR et j’ai nettement plus confiance en ce logiciel, je l’ai payé une fois et je l’ai à vie ! En plus les mises à jour sont gratuites.
    Il gère mieux la consommation de mon ordinateur puisqu’il gère la mémoire vive, la fréquence et la mise à veille des composants électroniques…

    Source : http://www.iaindustrie.fr.nf/

    Christine (non vérifié) le 16/12/2010

    Poster un nouveau commentaire

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