AVIS DE SOUTENANCE de Monsieur Yohan PIPEREAU

L’Ecole doctorale : Ecole Doctorale de l’Institut Polytechnique de Paris

et le Laboratoire de recherche SAMOVAR – Services rĂ©partis, Architectures, ModĂ©lisation, Validation, Administration des RĂ©seaux

présentent

l’AVIS DE SOUTENANCE de Monsieur Yohan PIPEREAU

AutorisĂ© Ă  prĂ©senter ses travaux en vue de l’obtention du Doctorat de l’Institut Polytechnique de Paris, prĂ©parĂ© Ă  TĂ©lĂ©com SudParis en :

Informatique

« AmĂ©lioration de l’utilisation de ressources mĂ©moires pour les machines virtuelles »

le JEUDI 14 DÉCEMBRE 2023 Ă  10h30

Ă 

Amphithéùtre 4
19 Place Marguerite Perey, 91120 Palaiseau

Membres du jury :

M. GaĂ«l THOMAS, Professeur, TĂ©lĂ©com SudParis, FRANCE – Directeur de these
M. Pierre SENS, Professeur, Sorbonne UniversitĂ©, FRANCE – Rapporteur
M. Romain ROUVOY, Professeur, l’UniversitĂ© de Lille 1, Sciences et Technologies, FRANCE – Rapporteur
M. Brice GOGLIN, Directeur de recherche, UniversitĂ© de Bordeaux, FRANCE – Examinateur
M. Mathieu BACOU, MaĂźtre de confĂ©rences, TĂ©lĂ©com SudParis, FRANCE – Co-encadrant de these
Mme Stella BITCHEBE, Postdoctoral Researcher, McGill University, CANADA – Examinateur

« AmĂ©lioration de l’utilisation de ressources mĂ©moires pour les machines virtuelles »

présenté par Monsieur Yohan PIPEREAU

Résumé :

Les centres de donnĂ©es reposent largement sur les machines virtuelles comme unitĂ© de dĂ©ploiement afin de garantir une isolation forte entre deux dĂ©ploiements. L’introduction de la virtualisation a permis une amĂ©lioration significative de l’utilisation des ressources d’un datacenter par rapport Ă  la location d’une machine physique pour chaque utilisateur. MalgrĂ© ce gain, les machines virtuelles offrent toujours un gain d’utilisation de ressources plus faible que l’isolation fournie par le systĂšme d’exploitation Ă  travers des processus. Deux phĂ©nomĂšnes expliquent le gain relatif des machines virtuelles : au moment de l’allocation d’une VM, un orchestrateur traduit l’allocation en une requĂȘte d’allocation de plusieurs ressources sur plusieurs serveurs. Le problĂšme que doit rĂ©soudre l’orchestrateur afin de trouver un placement optimal des VMs est NP-difficile, imposant Ă  l’orchestrateur l’utilisation d’heuristiques de placement qui laissent une part de ressource inutilisĂ©es sur chaque serveur. De plus, durant l’exĂ©cution de la VM, la consommation mĂ©moire augmente Ă  mesure que les accĂšs sont effectuĂ©s et la diffĂ©rence entre allocation mĂ©moire et utilisation mĂ©moire rĂ©sulte en un ensemble de ressource mĂ©moire qui ne peuvent ĂȘtre utilisĂ© sans risque de crash de VMs. Dans un premier temps, nous proposons un prototype permettant d’accĂ©der aux ressources mĂ©moires inutilisĂ©es sur d’autres serveurs. Notre solution est transparente pour les applications s’exĂ©cutant dans une VM et offre une rĂ©servation Ă  grain fin des ressources mĂ©moires distantes. Dans un second temps, nous prĂ©sentons les rĂ©sultats de notre Ă©tude des techniques existantes permettant d’ajuster la capacitĂ© mĂ©moire d’une VM sur la mĂ©moire qu’elle utilise. Notre travail montre que les solutions actuelles implĂ©mentĂ©es au niveau de l’hyperviseur introduisent une dĂ©gradation des performances des VMs ainsi que des temps de rĂ©ponse Ă©levĂ©s empĂȘchant le partage des ressources mĂ©moires par plusieurs VMs. Nous proposons une solution utilisant les informations disponibles dans la VM pour adapter rapidement leurs capacitĂ©s mĂ©moires.

Abstract :

Data-centers rely on virtual machines (VMs) to offer isolation between deployments. While, the use of VMs enables better resource usage compared to running a service per bare-metal machine, it achieves poorer resource usage than multiprocessus solutions. This is caused by two phenomena: At VM allocation time, VMs are scheduled as resource requests on a VM scheduler which perform virtual machine allocations across a set of servers. Optimal solution to this scheduling problem is NP-hard leading to the adoption of heuristic based allocation that let a good percentage of unallocated memory on each server known as `stranded memory`. At VM runtime, VM memory is consumed on-demand and the difference between memory allocation and usage results in a decent portion of `allocated unused memory` currently impractically usable. First, we propose a transparent solution for applications running inside VMs to remotely access stranded memory in remote machines with fine-grained reservation of remote resources. Second, we review current techniques trying to fit allocated memory to used memory. We show that all these techniques are managed by the hypervisor and introduce performance degradation in VMs and more importantly high response time which makes resource sharing unpractical. Instead, we propose an abstraction to perform VM-initiated memory provisioning, and we present early results of fast adaptation of VM memory.