La plupart des travaux de recherche menés dans l’équipe SEPIA s’intéressent à la gestion des ressources dans les centres de données. Nous distinguons les stratégies qui ciblent l’optimisation de l’énergie dans les centres de données (consommation et effets thermiques) et celles s’intéressant à la consolidation dans les centres de données virtualisés (ce qui est plus général, mais qui inclus aussi la réduction d’énergie). Enfin, une troisième voie est l’amélioration du support du système d’exploitation (au niveau d’un serveur) dans ces environnements.
Optimisation énergétique des centres de données
Concernant l’environnement du centre de données, un sujet particulier est l’infrastructure de refroidissement et son optimisation. Le challenge est de modéliser un centre de données d’un point de vue thermique, en considérant les tâches et les applications informatiques, les modèles de puissance électrique, et les modèles de refroidissement. Ce modèle peut permettre l’étude de déséquilibre thermique et de construire des stratégies pour la gestion des machines physiques ou l’ordonnancement des tâches.
Un second axe de travail est lié à l’approvisionnement en énergie renouvelable d’un centre de données. L’intégration d’énergies renouvelables pour limiter les émissions de CO2 a attiré de nombreuses recherches ces dernières années. Notre approche consiste en l’ordonnancement de tâches dans le centre de données en fonction de la disponibilité des énergies, en ajoutant une négociation entre l’ordonnancement des tâches informatiques d’une part et la production et le stockage de l’énergie disponible d’autre part ;
Enfin, un des problèmes des serveurs dans les centres de données est que leur consommation énergétique n’est pas complètement proportionnelle à leur utilisation, ils consomment de la puissance électrique même lorsqu’ils ne font rien. Nous avons construit une nouvelle approche de construction de centre de données avec des machines hétérogènes choisies pour leur ratio entre performance et efficacité énergétique (Big, Medium, Little). Un ordonnanceur peut ensuite exploiter cette hétérogénéité en migrant des applications et en éteignant/allumant les serveurs, de telle manière à ce que la consommation devienne totalement proportionnelle à la charge.
Consolidation de machines virtuelles, gestion des infrastructures Cloud
Dans les centres de données virtualisés, plusieurs techniques d’optimisation ciblent la consolidation e serveurs, c’est à dire regrouper les machines virtuelles (VM) dans le moins de serveurs physiques possible, afin de pouvoir éteindre (ou suspendre) les serveurs inutilisés. Plusieurs améliorations à la consolidation de serveurs ont été réalisés.
Une première piste est d’adapter l’architecture des applications hébergées pour permettre plus de consolidation, par exemple en changer le nombre de VM ou leurs tailles.
Une seconde approche est d’étudier des heuristiques pour le placement des VM en fonction de multiples critères (optimisation multi-critères).
Dans les environnements Cloud, une limitation majeure à la consolidation est le manque de mémoire vive. La mémoire devient saturée bien avant les processeurs. Nous exploitons de la mémoire distante afin de relâcher cette contrainte et d’améliorer la consolidation.
Amélioration du système d’exploitation, pour le Cloud et le HPC (Calcul Haute Performance)
Une part significative de notre recherche est dédiée à l’amélioration du support des systèmes d’exploitation et de la virtualisation dans les centres de données. Une raison importante de l’inefficacité actuelle des systèmes virtualisés est que les décisions d’ordonnancement sont prises à deux niveaux, par l’hyperviseur et par le système hébergé. Une collaboration entre ces deux niveaux peut amener une amélioration.
Un facteur important des systèmes virtualisés et d’assurer la prédictabilité de leurs performances. La performance d’un système hébergé ne doit pas être perturbé par le fait qu’il s’exécute dans une machine virtuelle. Cependant, l’imprédictibilité est observée pour plusieurs raisons : la contention sur le cache, la contention sur l’hyperviseur, l’hétérogénéité du matériel. Nous explorons ces sources d’imprédictibilité.
Un autre facteur important est de prendre en compte les évolutions sur le matériel, et en particulier le glissement vers les architectures NUMA. Dans ces architectures, le challenge principal vient du fait que l’hyperviseur reconfigure régulièrement le placement des ressources de VM (vCPU, pages mémoire) sur la topologie NUMA. Cependant les systèmes hébergés ne considèrent pas ces changements aux ours de l’exécution. Ces aspects sont étudiés à différents niveaux (application, système hébergé, hyperviseur).
Enfin, il est important d’avoir des outils de surveillance (monitoring) précis, pour les systèmes virtualisés ou pas. C’est une condition nécessaire pour implémenter des politiques de gestion de ressources efficaces. Le challenge est d’avoir des outils de monitoring non intuitive par rapport au système observé en termes de performances, tout en gardant une précision importante.