Modélisation de la consommation électrique d'un datacenter à l'allumage * Contexte général Les infrastructures informatiques modernes sont certes indispensables au bon fonctionnement de nos sociétés modernes, mais leur consommation électrique en forte augmentation est difficilement soutenable. Il est donc important de mieux maîtriser la consommation électrique induite par l'usage de ces infrastructures, dont certaines consomment déjà des dizaines de megawatts. Les datacenters centralisent une grande partie de calculs informatiques existants dans d'énormes hangars remplis d'ordinateurs. Comme la charge de calculs varie souvent au cours du temps (il y a plus de clients en ligne à 17h en semaine que pendant la nuit du 4 août), l'usage de ces infrastructures varie fortement. Depuis 15 ans, les efforts en terme de virtualisation visent à répondre à ce problème: le cloud permet par exemple de déplacer des calculs entre les machines et les co-localiser afin de consolider et optimiser l'usage des ressources existantes. Faire varier la fréquence d'horloge des ordinateurs permet également de réduire leur consommation quand la charge diminue. Pour aller plus loin, il serait possible d'éteindre complètement les noeuds inutilisés, mais cette approche est très rarement mise en oeuvre en pratique. Les opérateurs préfèrent ne pas introduire cette complexité supplémentaire, en arguant qu'un regain d'activité prochain pourrait nécessiter de redémarrer des ordinateurs éteints depuis peu. Ils craignent que le sur-coût du cycle allumage/extinction, plus la perte induite sur la réactivité du système ne réduisent à néant les gains de l'économie d'énergie. Diverses études ont déjà été menées sur ce sujet, comme par exemple [1] où nous avons contredit l'idée populaire indiquant que les cycles d'extinction/allumage des noeuds réduisaient fortement la durée de vie du matériel d'un datacenter. Ces questions impliquent des équilibres complexes qu'il est souvent difficile d'évaluer autrement que par simulation. Mais des modèles réalistes sont nécessaires pour sortir de la polémique et trouver une meilleure réponse que "ça dépend". SimGrid [2] est un outil pour l'évaluation d'infrastructures informatiques. Co-développé depuis près de 20 ans par M. Quinson, il a été utilisé pour réaliser les expériences de centaines d'articles scientifiques dans divers domaines, des simples clusters de quelques machines aux datacenters massifs ou même aux systèmes intercontinentaux. Ses modèles de performance, résultats d'un travail méticuleux de longue haleine, permettent de prédire le temps et la consommation énergétique des applications étudiées [3]. Il est également possible de coupler SimGrid à d'autres simulateurs physiques [4], comme des simulateurs de grille de transport électrique [5]. L'objectif de ce stage est de proposer des modèles autour de la consommation électrique des ressources de calcul, puis de les implémenter dans SimGrid pour les diffuser et permettre l'optimisation des ressources existantes. [1] Quantifying the Impact of Shutdown Techniques for Energy-Efficient Data Centers. Raïs, Orgerie, Quinson, Lefèvre. Concurrency and Computation: Practice and Experience, 2018. https://hal.inria.fr/hal-01711812 [2] Versatile, Scalable, and Accurate Simulation of Distributed Applications and Platforms. Casanova, Giersch, Legrand, Quinson, Suter. Journal of Parallel and Distributed Computing, 2014. http://hal.inria.fr/hal-01017319 https://simgrid.org [3] Predicting the Energy Consumption of MPI Applications at Scale Using a Single Node. Heinrich, Cornebize, Degomme, Legrand, Carpen-Amarie, Hunold, Orgerie, Quinson. Proceedings of the IEEE International Conference on Cluster Computing (Cluster'17). https://hal.inria.fr/hal-01523608 [4] Co-simulation of FMUs and Distributed Applications with SimGrid. Camus, Orgerie, Quinson. Principles of Advanced Discrete Simulation (SigSIM'18). https://hal.archives-ouvertes.fr/hal-01762540/ [5] pandapower - an Open Source Python Tool for Convenient Modeling, Analysis and Optimization of Electric Power Systems. Thurner, Scheidler, Schäfer et al, IEEE Transactions on Power Systems, 2018. https://www.pandapower.org/ * Travail demandé On se fixe comme premier objectif de réaliser un modèle du cycle d'allumage et extinction des ressources d'un datacenter en tenant compte du temps pris et de l'énergie consommée, voire de charge sur chaque phase électrique de l'alimentation pendant ces étapes. La méthodologie débutera par une campagne de mesures sur des infrastructures expérimentales comme Grid'5000 [6], couplée à une étude bibliographique des modèles déjà proposés. On s'attachera ensuite à évaluer le réalisme des différents modèles de la littérature au regard des mesures obtenues sur systèmes réels. De nouveaux modèles seront proposés puis implémentés dans SimGrid. Différents critères de qualité sont à prendre en compte pour ces modèles : certains cherchent des approximations rapides à calculer tandis que d'autres veulent des modélisations précises nécessitant le couplage de SimGrid et pandapower. Si possible, l'élève proposera une procédure automatique permettant à quiconque d'instancier les modèles proposés en étalonnant un vrai datacenter. Ces modèles seront ensuite utilisés pour évaluer différents algorithmes de la littérature pour la gestion d'un datacenter permettant d'éteindre des ressources inutilisées. Notons que la modélisation de la consommation électrique à l'allumage n'est que l'une des briques dont ont besoin les opérateurs pour concevoir et optimiser leurs systèmes. Si le temps le permet, l'étudiant.e pourra aller plus loin en proposant et intégrant dans l'outil des modèles de panneaux solaires, d'éoliennes ou de batteries d'après des mesures trouvées dans la littérature. Cela ouvrira la voie à une évaluation plus rigoureuse de nombreux algorithmes existants dans la littérature, et à terme à un meilleur usage des ressources informatiques. [6] https://www.grid5000.fr/w/Grid5000:Home