Thèse soutenue

Améliorer l'efficacité énergétique des datacenters virtualisés
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Vlad-Tiberiu Nitu
Direction : Daniel HagimontAlain Bouzaïde Tchana
Type : Thèse de doctorat
Discipline(s) : Réseaux, Télécommunications, Systèmes et Architecture
Date : Soutenance le 28/09/2018
Etablissement(s) : Toulouse, INPT
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Institut de Recherche en Informatique de Toulouse (1995-....)
Jury : Président / Présidente : André-Luc Beylot
Examinateurs / Examinatrices : Daniel Hagimont, Alain Bouzaïde Tchana, André-Luc Beylot, Sonia Ben Mokhtar, Timothy Roscoe, Renaud Lachaize, Costin Raiciu
Rapporteurs / Rapporteuses : Sonia Ben Mokhtar, Timothy Roscoe

Résumé

FR  |  
EN

De nos jours, de nombreuses entreprises choisissent de plus en plus d'adopter le cloud computing. Plus précisément, en tant que clients, elles externalisent la gestion de leur infrastructure physique vers des centres de données (ou plateformes de cloud computing). La consommation d'énergie est une préoccupation majeure pour la gestion des centres de données (datacenter, DC). Son impact financier représente environ 80% du coût total de possession et l'on estime qu'en 2020, les DCs américains dépenseront à eux seuls environ 13 milliards de dollars en factures énergétiques. Généralement, les serveurs de centres de données sont conçus de manière à atteindre une grande efficacité énergétique pour des utilisations élevées. Pour diminuer le coût de calcul, les serveurs de centre de données devraient maximiser leur utilisation. Afin de lutter contre l'utilisation historiquement faible des serveurs, le cloud computing a adopté la virtualisation des serveurs. Cette dernière permet à un serveur physique d'exécuter plusieurs serveurs virtuels (appelés machines virtuelles) de manière isolée. Avec la virtualisation, le fournisseur de cloud peut regrouper (consolider) l'ensemble des machines virtuelles (VM) sur un ensemble réduit de serveurs physiques et ainsi réduire le nombre de serveurs actifs. Même ainsi, les serveurs de centres de données atteignent rarement des utilisations supérieures à 50%, ce qui signifie qu'ils fonctionnent avec des ensembles de ressources majoritairement inutilisées (appelés «trous»). Ma première contribution est un système de gestion de cloud qui divise ou fusionne dynamiquement les machines virtuelles de sorte à ce qu'elles puissent mieux remplir les trous. Cette solution n'est efficace que pour des applications élastiques, c'est-à-dire des applications qui peuvent être exécutées et reconfigurées sur un nombre arbitraire de machines virtuelles. Cependant, la fragmentation des ressources provient d'un problème plus fondamental. On observe que les applications cloud demandent de plus en plus de mémoire, tandis que les serveurs physiques fournissent plus de CPU. Dans les DC actuels, les deux ressources sont fortement couplées puisqu'elles sont liées à un serveur physique. Ma deuxième contribution est un moyen pratique de découpler la paire CPU-mémoire, qui peut être simplement appliquée à n'importe quel serveur. Ainsi, les deux ressources peuvent varier indépendamment, en fonction de leur demande. Ma troisième et ma quatrième contribution montrent un système pratique qui exploite la deuxième contribution. La sous-utilisation observée sur les serveurs physiques existe également pour les machines virtuelles. Il a été démontré que les machines virtuelles ne consomment qu'une petite fraction des ressources allouées car les clients du cloud ne sont pas en mesure d'estimer correctement la quantité de ressources nécessaire à leurs applications. Ma troisième contribution est un système qui estime la consommation de mémoire (c'est-à-dire la taille du working set) d'une machine virtuelle, avec un surcoût faible et une grande précision. Ainsi, nous pouvons maintenant consolider les machines virtuelles en fonction de la taille de leur working set (plutôt que leur mémoire réservée). Cependant, l'inconvénient de cette approche est le risque de famine de mémoire. Si une ou plusieurs machines virtuelles ont une forte augmentation de la demande en mémoire, le serveur physique peut manquer de mémoire. Cette situation n'est pas souhaitable, car la plate-forme cloud est incapable de fournir au client la mémoire qu'il a payée. Finalement, ma quatrième contribution est un système qui permet à une machine virtuelle d'utiliser la mémoire distante fournie par un autre serveur du rack. Ainsi, dans le cas d'un pic de la demande en mémoire, mon système permet à la VM d'allouer de la mémoire sur un serveur physique distant.