Par kouds halitim à Grenoble le 12 mai 2026

Le refroidissement des centres de calcul est une problématique importante puisqu'elle touche à la fois aux performances et à l'impact environnemental du numérique. Le refroidissement à l'air est longtemps resté le moyen privilégié pour refroidir les serveurs de calcul mais face à l’augmentation de la consommation des sites de calcul, cette technique a montré des limites quant à son efficacité et à son impact environnemental. Le refroidissement par eau permet de répondre à ces problématiques, en permettant un refroidissement plus efficace ainsi qu’une réutilisation de la chaleur produite par les serveurs, jusqu’ici dissipée dans l’atmosphère. Certains fournisseurs de ressources de calcul (Cloud provider) maintiennent une infrastructure géographiquement distribuée permettant de réutiliser la chaleur produite par les serveurs afin de contribuer à des réseaux de chaleur (ou autre site nécessitant une source de chaleur).
Un centre de calcul avec un tel système de réutilisation de la chaleur nécessite une bonne gestion des charges de calcul et de la température de l’eau afin de conserver les garanties de services et de chauffage. Respecter des contraintes sur température en sortie du circuit de refroidissement est essentiel mais compliqué de part la nature variable et inconnue de l’utilisation des serveurs par les utilisateurs. Ainsi, pour garantir une température suffisamment haute, il est souvent d’usage d’exécuter des charges synthétiques (e.g. CPUburn, Minage) sur des serveurs inutilisés afin d’augmenter l’utilisation des ressources et la température de sortie du système. Cependant, cette approche représente une perte d’énergie et détourne la capacité de calcul vers des calculs improductifs.
Dans ce travail, nous exploitons la variabilité de la charge de calcul comme un levier d’action thermique : lorsqu’un apport de chaleur supplémentaire est nécessaire, des tâches utiles sont injectées sur des serveurs sélectionnés afin d’accroître leur utilisation. Nous présentons la mise en place, sur une infrastructure réelle, d’un tel système d’injection de tâches non intrusif. Nous identifions des catégories de tâches utiles qui peuvent être utilisées pour l’injection (e.g. compression de fichiers de log, compilation de logiciels, tests unitaires, etc.) et décrivons la manière dont elles sont exécutées par un système de provisionnement de ressources, dynamiquement contrôlable, et ajouté en parallèle du système existant. De plus, une boucle de rétroaction permet, à partir de la température de l’eau mesurée en sortie, d’ajuster en continu la charge des tâches injectées, compensant ainsi les fluctuations induites par les utilisateurs. À l’aide d’un modèle de la consommation d’énergie et de la dynamique thermique de l’eau en sortie, nous concevons un contrôleur à deux niveaux : un module de niveau supérieur calcule les profils de charge de travail cibles respectant les contraintes de température de sortie, tandis qu’un contrôleur à un niveau inférieur suit les objectifs de température en régulant la taille des lots de tâches injectés pour une meilleure gestion des dynamiques du système et des perturbations.

Commentaires