Développeur : PowerTOP : Un outil pour réduire la consommation d'énergie sous GNU/Linux
Posté par Florent Zara (Jabber id, page perso, ). Modéré le 15 mai 2007.
Serait-ce l'un des premiers bénéfices de la nouvelle orientation d'Intel en faveur de Linux pour leur solutions mobiles ?
Arjan van de Ven, développeur chez Intel, vient d'annoncer la sortie d'un outil permettant d'identifier les applications et pilotes Linux les plus gourmands en énergie de façon très simple et lisible : PowerTOP liste ces mauvais citoyens en ordre décroissant, à la façon de l'utilitaire top. Il indique aussi le nombre d'éveils des processeurs par seconde et une estimation de la consommation actuelle en watt. Très facile d'utilisation, l'outil affiche même des conseils d'amélioration en fonction de votre configuration noyau (par exemple il recommande, si ce n'est déjà fait, d'activer NO_HZ, CONFIG_USB_SUSPEND, CONFIG_HPET et CONFIG_CPU_FREQ_GOV_ONDEMAND et de désactiver CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG). Pas besoin d'être un développeur chevronné donc : tout utilisateur de GNU/Linux doté d'un PC portable devrait pouvoir utiliser cet outil (en revanche, il faut penser à signaler aux développeurs les problèmes de consommation d'énergie que cela permet de découvrir dans leurs logiciels).
Plus d'informations dans la suite de l'article
NdM: Un grand merci à herodiade, auteur du journal à l'origine de cette dépêche.
Arjan van de Ven, développeur chez Intel, vient d'annoncer la sortie d'un outil permettant d'identifier les applications et pilotes Linux les plus gourmands en énergie de façon très simple et lisible : PowerTOP liste ces mauvais citoyens en ordre décroissant, à la façon de l'utilitaire top. Il indique aussi le nombre d'éveils des processeurs par seconde et une estimation de la consommation actuelle en watt. Très facile d'utilisation, l'outil affiche même des conseils d'amélioration en fonction de votre configuration noyau (par exemple il recommande, si ce n'est déjà fait, d'activer NO_HZ, CONFIG_USB_SUSPEND, CONFIG_HPET et CONFIG_CPU_FREQ_GOV_ONDEMAND et de désactiver CONFIG_IRQBALANCE et CONFIG_ACPI_DEBUG). Pas besoin d'être un développeur chevronné donc : tout utilisateur de GNU/Linux doté d'un PC portable devrait pouvoir utiliser cet outil (en revanche, il faut penser à signaler aux développeurs les problèmes de consommation d'énergie que cela permet de découvrir dans leurs logiciels).
Plus d'informations dans la suite de l'article
NdM: Un grand merci à herodiade, auteur du journal à l'origine de cette dépêche.
PowerTOP (2553 hits)
Explications sur le fonctionnement (633 hits)
Problèmes déja découverts (firefox, gaim, ...), conseils divers et patchs proposés (909 hits)
La liste de diffusion de PowerTOP (255 hits)
L'annonce sur LKML (229 hits)
Journal à l'origine de la dépêche (493 hits)
> Lire la suite (92 commentaires, moyenne: 2,2). [dépêche : 7547 caractères]
Vous avez demandé le commentaire #832133.




Et les serveurs
C'est une super idée, et c'est génial pour les utilisateurs de portables. Mais comment ça va se répercuter au vrai marché de Linux, c'est-à-dire les serveurs.
En effet, sur un portable, le but, c'est de gagner de l'autonomie, et donc de diminuer la consomation.
Mais on retrouve, à mon sens, la même problématique de consomation chez les serveurs (quoique ce soit cette fois-ci dicté par des impératifs de facture EDF).
Donc, ma question est simple : si j'ai un serveur chez moi (ce qui est le cas), sous Linux (ce qui est aussi le cas), et que je souhaite optimiser (ou plutôt diminuer) sa consomation électrique, est-ce que je vais moi aussi bénéficier des améliorations apportées grâce à PowerTOP ?
En apparté, j'ai quand même l'impression qu'il s'agit plus d'un logiciel pour développeurs que pour utilisateurs classiques, non ?
"Putain, mais quelle fichue imagination je peux avoir ! ..."
John Brunner - Tous à Zanzibar
[^]Re: Et les serveurs
On pourait penser au premier abord que seuls les applications clientes (on ne met en général pas un serveur sur un portable...) seront optimisées, mais à mon avis la force de powertop réside dans la capacité de suggérer des optimisations dans n'importe quelle application.
Étant donné que les améliorations apportées grâce à PowerTop concernent potentiellement toutes les applications, tout le monde en profitera, à mon avis d'abord sur quelques applications phare (dont on parle dans la news ou sur des liens) puis progressivement ça s'étendra à tout.
[^]Re: Et les serveurs
Les processeurs de serveurs n'ont pas de C-states pour economiser l'energie, donc peu d'amelioration pour les serveurs.
De plus, un serveur, c'est sense fonctionner tout le temps, sinon, le reseau est mal dimensionné, alors qu'un laptop, il a pas a faire grand chose pendant que tu moule sur linuxfr.
Le marche de linux est loin d'etre cantonné aux serveurs. Il est aussi très fort dans l'embarqué, avec des processeurs qui ont des fonctionnalité similaires aux C-states. Quand a savoir si il est prêt pour le desktop/laptop..
Je est un autre.
[^]Re: Et les serveurs
Dommage, ça ferait baisser ma facture ...
Mais d'un autre côté, je me dis que les prochaines releases des applications très consomatrices le seront moins, même une fois sur mon serveur. Et que si un jour un gusse observe son Apache avec PowerTOP, je pourrais aussi en bénéficier. Mais peut-être tout cela n'est-il qu'une lubie ...
Je ne dis pas le contraire, mais vu que mon site web n'est pas le plus consulté de l'univers, j'ai quand même l'impression que mon serveur glande assez souvent. Et donc, je me dis que s'il pouvait passer dans un mode plus économique (et pareil pour les disques SCSI), ce serait bon pour la planète.
Et peut-être parfois des serveurs embarqués, non ?
"Putain, mais quelle fichue imagination je peux avoir ! ..."
John Brunner - Tous à Zanzibar
[^]Re: Et les serveurs
j'ai quand même l'impression que mon serveur glande assez souvent. Et donc, je me dis que s'il pouvait passer dans un mode plus économique
il y a toujours la possibilité de l' "underclocking": technique de geek très peu répandue actuellement mais qui sera bientôt très à la mode.
ps: Tous à vos "vcore"s, on commence à 0.5 V
[^]Re: Et les serveurs
j'ai quand même l'impression qu'il s'agit plus d'un logiciel pour développeurs que pour utilisateurs classiques, non ?
si j' ai bien compris, il s' agit -entre autre- d' un logiciel pour que les developpeurs puissent facilement tenir compte des infos attenantes à la conso générale, essentiellement. Mais également pour que les utilisateurs appliquent les solutions préconisées directement, dans la mesure de leur possible.
Ce n' est pas PowerTOP qui va améliorer la consommation éléctrique de ton serveur...
C' est les évolutions des logiciels faites par les developpeurs sur -entre autre- la base de renseignements fournie par PowerTOP qui à terme auront un impact sur la consommation éléctrique de ton serveur. C' est aussi toi, un peu, en prenant les mesures et en appliquant les solutions préconisées.
C' est un tout.
dites : ça aussi ça a été annoncé lors du RedHat Summit actuel ? (encore une bonne news qui sort de la bas ??)
autre question : ça veut dire la fin d' irqbalance par défaut sur les RHEL4 et Mandriva ? ouffffff (...)
Dans tout les cas, ça a l' air plus qu' intéressant.
[^]Re: Et les serveurs
> autre question : ça veut dire la fin d' irqbalance par défaut sur les RHEL4 et Mandriva ? ouffffff (...)
irqbalance n'a rien à voir avec les économies d'énergie. mais les économie d'énergie peuvent être un critère qui décide de la répartition des IRQ.
Dans la RHEL4 tu as l'ancienne version de irqbalance.
Intel (encore eux) on développé une nouvelle version plusintelligente qui est dispo dans la Fedora Core 6. La documentation est instructive.
http://irqbalance.org/
Ensuite les CPU de serveur, gère aussi les C-state, est heureusement.
Les Opteron et Xeon sont capable de faire varier leur consomation électrique. Et sur un gros cluster de calcul. La différence de consommation est importante entre le cluster qui ne fait rien, et le cluster qui calcul à fond avec les disques (la différence de chaleur dégagé est elle aussi très importante)
C'est primordiale aussi sur les serveurs de gérer les économie d'énergie. Ce n'est pas parce qu'il tourne 24h/24 qui doivent tourner à 100% 24h/24 !!
Un serveur de fichier en entreprise ne tourne que les heures de travail ouverte, ce n'est pas pour autant que l'on va éteindre le serveur tout les soirs et entre midi et deux !!!
[^]Re: Et les serveurs
J'avais lu quelque part que l'un des critères de choix principaux de google pour leurs serveurs était justement leur consommation électrique. Et que cela expliquait qu'ils soient restés très longtemps au P3
[^]Re: Et les serveurs
Ensuite les CPU de serveur, gère aussi les C-state, est heureusement.
heu pas vraiement.
Sur le core2duo à mon travail :
$ cat /proc/acpi/processor/CPU0/power
active state: C1
max_cstate: C8
bus master activity: 00000000
maximum allowed latency: 8000 usec
states:
*C1: type[C1] promotion[--] demotion[--] latency[000] usage[00000000] duration[00000000000000000000]
J'ai pas de C state.
La différence de consommation est importante entre le cluster qui ne fait rien, et le cluster qui calcul à fond avec les disques (la différence de chaleur dégagé est elle aussi très importante)
Les disques c'est autre chose, et puis meme sans C state, quand le cpu est en idle il bouffe quand meme moins d'energie.
[^]Re: Et les serveurs
en fait je confond C-state et P-state :(
si quelqu'un peut m'expliquer la différence...
[^]Re: Et les serveurs
IIRC avec les P-state tu brides ton processeur a une certaine charge (un peu comme si tu l'underclockait), tu dois economiser un peu, mais pas enormement.
[^]Re: Et les serveurs
J'ai trouvé la réponse :
un article de plusieurs pages
http://www.extremetech.com/article2/0,1697,2052576,00.asp
pour simplifier, les P-state joue sur la fréquence du CPU., les C-state joue sur l'alimentation des différentes partie du CPU, voire, plus tard, des différents cores.
http://www.extremetech.com/article2/0,1697,2052679,00.asp
Sinon, les P-state font vraiment baisser le consommation des CPU d'un facteur de 1 à 4.
http://www.extremetech.com/article2/0,1697,2052683,00.asp
[^]Re: Et les serveurs
A noter que NO_HZ n'est gagnant qu'avec les c-state, pas les p-state :
avec les p-state le gain est constant, avec les c-state suelement quand le cpu peut passer en low power mode.
[^]Re: Et les serveurs
Et comment donc avoir les bénéfices des C-states et des P-states ?
[^]Re: Et les serveurs
Sinon, les P-state font vraiment baisser le consommation des CPU d'un facteur de 1 à 4.
Ca depend des procs, par exemple sur le core duo2 desktop, le choix des P-state est tres limité : sur le mien on peut choisir que 2 fréquences (cf http://bugzilla.kernel.org/show_bug.cgi?id=7851 )
[^]Re: Et les serveurs
Si tu lis les liens que j'ai donné, il est dit que c'est le BIOS qui définit les fréquences des P-state... en fonction des multiplier min et max accepté par le cpu.
Donc met à jour ton BIOS, ou rale après le fabricant de ta carte mère...
Mon P4 de bureau me donne accès aux fréquences suivantes :
375000 750000 1125000 1500000 1875000 2250000 2625000 3000000
Et j'ai forcé pour qu'il ne descente pas au-dessous de 750000, sinon j'ai vraiment l'impression que le CPU se traine. Le ventilo tourne rarement à fond contrairement au cas où le CPU est à 100%
[^]Re: Et les serveurs
Si tu lis les liens que j'ai donné, il est dit que c'est le BIOS qui définit les fréquences des P-state... en fonction des multiplier min et max accepté par le cpu.
Si tu avais lu le lien que je t'ai donné, tu aurais vu que c'est un pb des core2duo :
E6300 lowest frequency multiplier is 6. This means that if you have FSB at
1066MHz, base CPU frequency is 1066/4=266, and lowest frequency your CPU may
appear at is 266*6=1.6Ghz, exactly what you see.
Donc a part changer de cpu, je peux rien faire.
Et puis j'ai testé sur un autre cpu plus ancien (athlon) et lui n'a pas de P-state, mais seulement de T-state, qui ne permette pas de gagner grand chose d'apres [1].
Bref pour en revenir au sujet, les économies d'énergie sur les procs non portable, c'est pas encore ça.
[1]
http://article.gmane.org/gmane.linux.kernel.cpufreq/947/matc(...)