Bientôt un mode veille pour les microprocesseurs ?
C’est une des révélations de la conférence Hot Chips de fin août dernier : IBM travaille sur une technologie de mise en veille profonde. La gamme de processeurs POWER7 possède déjà 3 modes de mise en veille différent possédant les doux noms de « sieste », « veille » et « veille profonde » (implémentés notamment en fonction de la charge de travail du processeur et de la tolérance de l’application envers la latence nécessaire au processeur pour revenir en mode normal).
Logiquement, plus on économise d’énergie, plus le processeur met du temps à repartir : le mode « sieste » épargne quelques 15% de la consommation totale du processeur et revient en mode normal quasiment instantanément. A l’extrême, le mode « veille profonde » quant à lui réduit de 85% la consommation pour un temps de reprise d’activité d’environ 2 ms.
Dans la même lignée, le nouveau mode de veille, baptisé « winkle » (probablement suite aux pérégrinations de Rip Van Winkle qui aurait dormi d’une traite pendante 20 ans) rendrait la consommation du processeur quasi proche de 0, pour un temps de retour à l’état actif compris entre 10 et 20 ms. Tout est affaire de compromis… Et d’intégration. Comme le souligne Olivier dans son article vers un développement informatique plus vert, ce n’est pas parce que ces technologies existent qu’on les utilise, qui plus est à bon escient.
D’un point de vue développement (dans notre cas, bas niveau), si ces objectifs de consommation/d’utilisation des modes « veille » des processeurs ne sont pas intégrées très tôt dans le projet, il devient très difficile et donc coûteux de le faire à posteriori. Par exemple, la gestion de la consommation sur les processeurs IBM est pilotée par un microcontrôleur (extérieur au processeur) qui rassemble en temps réel les données nécessaires au calcul du couple tension/vitesse d’horloge optimal. Il est difficile d’imaginer une solution de gestion implémentée à posteriori qui soit réellement efficace.
Le souci de cette course à la réduction à la consommation en veille est qu’elle est parfois devenue un cheval de bataille marketing pour les fondeurs, qui peuvent « faire passer » une augmentation ou une stabilité des consommations en mode normal avec une réduction de la consommation en mode veille. Par ailleurs, les « réductions » de consommation en mode normal sont bien souvent des consommations identiques (voire supérieures), mais à puissance de calcul supérieure. C’est déjà bien me direz-vous, et je suis d’accord.
On perçoit cependant un vrai fossé technologique, également lié aux bonnes pratiques de développement (de l’assembleur au langage haut niveau) qui nous empêche encore de faire mieux avec moins. Ceci dit, une harmonisation verticale (matériel/logiciel/utilisation, telle que le propose par exemple la société meta-it) est pour moi une des clés de cette véritable décroissance de la consommation électrique.
Qu’en pensez-vous?