Thèse de doctorat en Informatique
Sous la direction de Gaël Thomas.
Soutenue le 08-03-2018
à Sorbonne université , dans le cadre de École doctorale Informatique, télécommunications et électronique de Paris , en partenariat avec LIP6 (1997-....) (laboratoire) .
Le président du jury était Vivien Quéma.
Le jury était composé de Emmanuelle Encrenaz, Pierre Sens.
Les rapporteurs étaient Rachid Guerraoui, Laurent Réveillère.
Efficient virtualization of NUMA architectures
Alors que le surcoût de la virtualisation reste marginal sur des machines peu puissantes, la situation change radicalement quand le nombre de cœur disponible augmente. Il existe aujourd’hui des machines de plusieurs dizaines de cœurs dans les data centers dédiés au cloud computing, un modèle de gestion de ressources qui utilise largement la virtualisation. Ces machines reposent sur une architecture Non Uniform Memory Access (NUMA) pour laquelle le placement des tâches sur les cœurs ainsi que celui des données en mémoire est déterminant pour les performances.Cette thèse montre d’une part comment la virtualisation affecte le comportement des applications en les empêchant notamment d’utiliser un placement efficace de leurs données en mémoire. Cette étude montre que les erreurs de placement ainsi provoquées engendrent une dégradation des performances allant jusqu’à 700%. D’autre part, cette thèse propose une méthode qui permet la virtualisation efficace d’architectures NUMA par la mise en œuvre dans l’hyperviseur Xen de politiques génériques de placement mémoire. Une évaluation sur un ensemble de 29 applications exécutées sur une machine NUMA de 48 cœurs montre que ces politiques multiplient les performances de 9 de ces applications par 2 ou plus et diminuent le surcoût de la virtualisation à moins de 50% pour 23 d’entre elles.
While virtualization only introduces a negligible overhead on machines with few cores, this is not the case when the number of cores increases. We can find such computers with tens of cores in todays data centers dedicated to the cloud computing, a resource management model which relies on virtualization. These large multicore machines have a complex architecture, called Non Uniform Memory Access (NUMA). Achieving high performance on a NUMA architecture requires to wisely place application threads on the appropriate cores and application data in the appropriate memory bank.In this thesis, we show how virtualization techniques modify the applications behavior by preventing them to efficiently place their data in memory. We show that the data misplacement leads to a serious performance degradation, up to 700%.Additionally, we suggest a method which allows the Xen hypervisor to efficiently virtualize NUMA architectures by implementing a set of generic memory placement policies. With an evaluation over a set of 29 applications on a 48-cores machine, we show that the NUMA policies can multiply the performance of 9 applications by more than 2 and decrease the virtualization overhead below 50% for 23 of them.
Il est disponible au sein de la bibliothèque de l'établissement de soutenance.