Changed on 27/07/2022
Nouveau gestionnaire de machines virtuelles pour les clouds, Snooze introduit une approche innovante pour optimiser la ressource. Le logiciel peut gérer des milliers de nœuds grâce à sa tolérance aux pannes, ses facultés d'autoconfiguration et d'autoréparation. Les premières expériences indiquent qu'il abaisse aussi la facture de courant, comme l'expliquent Eugen Feller et David Margery, du centre Inria Rennes - Bretagne Atlantique.
Personne tenant un smartphone affichant le symbole du  cloud computing (informatique en nuage)
D'après Rawpixel - CC0

 

Alignés en batteries, d'innombrables serveurs bourdonnent nuit et jour pour faire fonctionner la nouvelle économie numérique. Ces usines à clouds et ces entrepôts de données engloutissent désormais une part non négligeable de l'énergie mondiale. Leur consommation ? Dans les 30 milliards de watts. Soit environ 30 centrales nucléaires, à en croire une récente estimation du New York Times.

D'après cette étude, les serveurs n'utilisent guère plus de 6 à 12% de l'électricité qu'ils consomment pour effectuer des tâches. Le reste ne sert qu'à maintenir les machines en fonctionnement pour le cas où elles seraient brusquement sollicitées. « Pour l'instant, les fournisseurs de services cloud passent la facture énergétique à leurs clients. Mais tôt ou tard, ils devront se pencher sur le problème. Et Snooze est précisément un outil qui peut les aider à relever ce défi », résume David Margery, directeur technique de la plate-forme expérimentale Grid'5000, au centre Inria Rennes - Bretagne Atlantique.

Créé par Eugen Feller durant son travail de thèse et financé par l'ANR, Snooze a été pensé dès le départ comme un système générique de gestion de machines virtuelles devant être tolérant aux pannes, capable de s'autoconfigurer et s'autoréparer, mais pouvant aussi minimiser la consommation électrique.

Tolérance aux pannes

Les dernières années ont vu émerger plusieurs gestionnaires pour clouds. Les plus notoires s'appellent OpenNebula, Nimbus, Eucalyptus et OpenStack.

« À mon sens, une des originalités du travail d'Eugen tient dans ses facultés de résistance aux pannes, estime David Margery. Snooze sait détecter qu'un nœud est en défaillance et il prend des actions correctives. Cette tolérance aux pannes s'avère complètement essentielle si on ambitionne de gérer des clouds à grande échelle. »
Pourquoi ?
« Parce qu'en raison du nombre considérable de nœuds, il y aura inévitablement des pannes. » Malgré ces aléas, « le logiciel va maintenir le cloud en fonctionnement et continuer d'optimiser le placement des machines virtuelles pour éteindre des machines physiques. » Dans le jargon, on appelle cela la consolidation.

Gestion distribuée
« En matière de gestion énergétique, il existe de nos jours quantité d'approches », remarque Eugen Feller. Mais pour optimiser le placement de machines virtuelles, « l'architecture centralisée est à proscrire. Car toutes les données doivent transiter par le nœud maître : contrôle, gestion des machines virtuelles... Or, c'est là que se situe le problème. Ce nœud maître ne résiste pas à la panne, il ne peut ni s'autoréparer ni s'autoconfigurer et par nature, il ne passe pas à l'échelle. » Les spécialistes appellent ce talon d'Achille le point unique de défaillance ou SPOF (Single Point of Failure)
« Pour résoudre cette série de problèmes, nous considérons que nous n'avons pas besoin d'un tel système hiérarchique. Nous distribuons horizontalement la gestion des machines virtuelles. Dans Snooze, les tâches de gestion sont effectuées par de multiples nœuds. La tolérance aux pannes est fournie à tous les niveaux de la hiérarchie par réplication et par un algorithme intégré pour le choix de leader. Grâce à cela, le système est en mesure de s'autoréparer et de continuer à fonctionner malgré des nœuds défaillants. »

Testé sur Grid'5000

Comme le souligne David Margery, « ce travail a été validé par des expériences avec une vraie application fonctionnant sur environ 130 nœuds de la plate-forme Grid'5000. Snooze a démontré sa capacité à véritablement éteindre des machines. » Et cela sans nuire aux performances de l'application.
« À un moment donné, nous déploierons Snooze sur toute la grille. Nous aurons une moisson de chiffres. »

Un ingénieur Inria vient d'être affecté au projet pour les deux ans à venir.
« Notre ambition est de parvenir à un système plus autonome et complètement dynamique, ajoute Eugen Feller. On peut imaginer par exemple de placer les machines virtuelles en fonction de la qualité de l'énergie disponible : verte ou moins verte. Snooze pourrait aussi assurer la gestion thermique afin d'éviter les surchauffes de serveurs. »

Empreinte carbone

Même si elle surfe sur l'air du temps, dans les faits, cette thématique de recherche demeure en avance sur les considérations du marché. « Quand il s'agit de déplacer des machines virtuelles dans le seul but de réduire la consommation d'énergie, la plupart des opérateurs de cloud rechignent en se disant que le risque est trop élevé pour le bénéfice à en tirer, analyse David Margery. Ils craignent surtout de perdre des clients si une panne intervient durant ces migrations. Cela dit, le changement pourrait venir des certificats carbone. Difficile en effet pour les opérateurs de nier l'impact écologique de leurs infrastructures. À un moment donné, cette empreinte carbone va devenir un problème. »

C'est pour anticiper cette exigence environnementale, qu'Inria vient de rejoindre ECO2Clouds. Ce projet européen vise précisément à introduire des mécanismes de prise en compte de l'impact CO2 dans le choix de la ressource sur les fédérations de clouds.