Green IT : Intel invente la mesure énergétique par application
Le dernier processeur Xeon 6+ introduit un circuit « AET » inédit, qui est capable de faire le lien entre la consommation électrique d’un cœur et l’application qu’il est en train d’exécuter. L’enjeu est de mieux contrôler le coût énergétique d’un datacenter.
Parfois, l’innovation la plus conséquente se cache dans un détail qui passe de prime abord totalement inaperçu. C’est le cas sur le tout dernier processeur Xeon 6+ d’Intel qui dispose d’un énième circuit spécialisé à l’acronyme barbare, mais dont la fonction ouvre des perspectives inédites en matière de gestion de l’énergie dans un datacenter. L’AET, pour Application Energy Telemetry, est une sonde capable de mesurer exactement combien d’électricité une application consomme, en regardant l’activité des cœurs x86 qu’elle occupe.
« AET fournit deux métriques : l’énergie consommée par chaque cœur et l’activité qui s’y déroule.
Jedrzej WasiukiewiczSoftware Engineer, Intel
« Jusqu’ici, vous étiez capable de savoir quelle portion de l’énergie d’un datacenter un serveur consomme. Mais quand vous avez une électricité limitée que vous souhaitez répartir au mieux sur votre production, l’information concernant la consommation des matériels ne vous sert à rien. Ce qui serait bien plus utile, ce serait de savoir quelles applications consomment quelle quantité d’énergie. Et c’est le but d’AET », explique Piotr Swirydczuk, architecte logiciel pour les usages en cloud chez Intel (à gauche sur la photo en haut de cet article).
« AET est un nouveau circuit dédié qui débute sa carrière sur notre nouveau Xeon 6+. Il fournit deux métriques : l’énergie consommée par chaque cœur et l’activité qui s’y déroule. En première approche, la conjugaison de ces deux informations vous permet de savoir ce qu’une application, son container ou sa machine virtuelle vous coûte en électricité », ajoute Jedrzej Wasiukiewicz (à droite sur la photo en haut de cet article), le développeur d’Intel – qui a écrit le pilote AET Open source pour le noyau Linux 7.0 et la bibliothèque libvirt orchestrant le temps machine des instances virtuelles dans un serveur.
Faire la différence entre deux VM qui utilisent le même temps processeur
Les deux ingénieurs font la démonstration des capacités d’AET sur un stand, en marge du récent évènement Computex à l’occasion duquel Intel a lancé le Xeon 6+. Leur présentation montre deux machines virtuelles qui utilisent chacune 15 processeurs virtuels et qui, selon des consoles de monitoring traditionnelles, accaparent le même temps machine dans le serveur.
« Une fois que vous savez combien d’énergie vaut une VM, vous pouvez répartir vos VM sur vos serveurs de manière bien plus optimale. »
Piotr SwirydczukArchitecte logiciel pour les usages en cloud, Intel
« Sauf qu’une VM exécute des opérations basiques, scalaires, alors que l’autre passe son temps à effectuer des calculs complexes, ici des multiplications de matrices. Et il faut aller au-delà de l’information du temps machine pour se rendre compte que la seconde VM avale beaucoup plus d’énergie que la première », raconte Jedrzej Wasiukiewicz.
« Or, une fois que vous savez combien d’énergie vaut une VM, vous pouvez répartir vos VM sur vos serveurs de manière bien plus optimale », enchérit Piotr Swirydczuk, en expliquant qu’un meilleur mix de VM sur chaque processeur contribue à réduire l’énergie globale d’un cluster de serveurs pour un nombre donné d’applications en cours d’exécution. Il ne s’aventure toutefois pas à estimer les économies possibles.
Des usages d’optimisation ou de facturation qui restent à développer
« La connaissance des consommations par application peut aussi servir à restreindre l’utilisation des applications les plus gourmandes à des plages horaires déterminées, ce qui sera par exemple le cas d’usage sur les équipements d’un opérateur télécom ou au sein d’une équipe de développeurs. Et puis, chez un hébergeur, cette information servira sans doute à facturer plus exactement les propriétaires des applications », imagine Piotr Swirydczuk.
Intel ne fournit pas d’outils pour répartir l’exécution des applications sur des processeurs selon leur consommation, ni même pour suivre les applications quand elles voyagent entre les serveurs. Ce sera le but des prochaines versions des logiciels d’orchestration (pour Kubernetes, VMware, Nutanix, KVM, etc.) qui prendront en charge le pilote AET écrit par Jedrzej Wasiukiewicz. En revanche, Intel promet que ce nouveau monitoring n’utilise pas lui-même de la puissance de calcul utile aux applications, puisque son exécution est cantonnée au circuit AET qui ne sert qu’à cela.
Outre le circuit AET, le processeur Xeon 6+ intègre quatre accélérateurs, chacun en quatre exemplaires (soit seize circuits d’accélération). Il s’agit des circuits QAT (Quick Assist Technology) pour le chiffrement et la compression de fichiers, DSA (Data Streaming Accelerator) pour convertir des formats de données à la volée, DLB (Dynamic Load Balancer) pour distribuer les flux d’instructions sur les cœurs, et IAA (In-Memory Analytics Accelerator) pour compresser/décompresser les données lorsqu’elles sont lues ou écrites en mémoire.