<  Back to the Polytechnique Montréal portal

Analyse de l'exécution de systèmes virtualisés multiniveaux

Cédric Biancheri

Master's thesis (2016)

Open Access document in PolyPublie
[img]
Preview
Open Access to the full text of this document
Terms of Use: All rights reserved
Download (1MB)
Show abstract
Hide abstract

Abstract

Over the past few years, the use of virtualized systems has developed significantly, in industry as well as for personal usage. This global deployment is mainly due to the development of the related technologies, allowing further improvement in the performance of such systems. The flexibility of virtualized systems also contributes to this growth. This technology allows the easy and quick management of large clusters of virtual machines (VMs) and containers, spread over the nodes of a physical machine network. Furthermore, by adapting to changing workloads, the management of physical resources reduces hardware and energy consumption costs. Even if VMs and containers are isolated from their host, all their activity eventually happens on a node's physical CPU. Thus, VMs and containers might unknowingly share the same physical resources, resulting in an overcommitment of those resources and a performance drop. For a better oversight of the real execution on one of the network's node, our study aims to represent an accurate flow of the activities that occurred on its processor cores, erasing the bounds of the virtualization layers. To fulfill this objective, we use the LTTng tracer to generate kernel traces on the host and the guest systems. Kernel traces can provide plenty of fine-grained information, regarding the activity of the operating system. Among others, they allow us to determine the stages when a virtualized system yields a resource such as a physical CPU. In addition to recovering the real execution flow, the analysis of this information allows to reestablish the full hierarchy of containers, and up to two layers of nested VMs. To complete this study, we present a view developed in Trace Compass, able to represent the full extent of the information extracted by the analysis. This view allows to visualize the hierarchy of the traced systems, as well as their execution flow on the physical CPUs of their corresponding node. Finally, by using a system of filters, we offer the possibility to highlight more details of the traced systems, such as the execution flow of a VM, a virtual CPU, a container, or a subset of processes.

Résumé

Au cours des dernières années, l'utilisation de systèmes virtualisés s'est fortement développée, que ça soit dans l'industrie, ou par l'usage de particuliers. Cette globalisation est notamment due au développement des technologies reliées, améliorant toujours plus les performances de tels systèmes. La flexibilité des systèmes virtualisés s'ajoute également aux raisons de cet essor. Cette technologie permet de facilement et rapidement gérer tout un parc de machines virtuelles (VMs) et conteneurs, répartis sur les nœuds d'un réseau de machines physiques. La gestion des ressources a un impact moins onéreux pour son utilisateur car elle permet une adaptation à la charge de travail demandée. Même si les machines virtuelles et les conteneurs offrent une certaine isolation de leur système hôte, toute activité survient éventuellement sur un processeur (CPU) physique d'un des nœuds. Ainsi, VMs et conteneurs partagent un même ensemble de ressources, sans pour autant en avoir conscience. Ce partage peut entraîner un surengagement des ressources, impliquant pour un ou plusieurs systèmes, une baisse de performance. Pour avoir une meilleure approche de l'exécution réelle sur un nœud de réseau, notre étude se donne pour objectif de fournir une représentation, aussi fidèle qu'elle soit, du flot d'exécution survenu sur ses processeurs, malgré les différentes couches de virtualisation. Pour atteindre cet objectif, nous nous servons du traceur LTTng afin de générer et exploiter les traces noyau des systèmes hôte et invités. Les traces noyau fournissent de nombreuses informations, à très bas niveau, sur l'activité d'un système d'exploitation. Elles nous permettent, entre autres, de déterminer les phases où un système virtualisé s'approprie une ressource telle qu'un processeur physique. En plus du flot réel d'exécution, l'exploitation de telles données nous permet de recréer la hiérarchie complète de conteneurs et jusqu'à deux niveaux de machines virtuelles imbriquées. Pour compléter cette étude, nous présentons une vue, développée dans le logiciel Trace Compass, capable de représenter l'ensemble des informations extraites par la précédente analyse. Cette vue permet de visualiser l'ensemble de la hiérarchie des systèmes tracés, de même que leurs flots d'exécution sur les CPUs physique du nœud ciblé. Finalement, par l'utilisation de filtres, il est également possible de mettre en relief des aspects plus précis des systèmes tracés, comme une VM, un CPU virtuel, un conteneur ou un ensemble de processus.

Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Michel Dagenais
PolyPublie URL: https://publications.polymtl.ca/2209/
Institution: École Polytechnique de Montréal
Date Deposited: 21 Mar 2017 11:18
Last Modified: 26 Sep 2024 21:09
Cite in APA 7: Biancheri, C. (2016). Analyse de l'exécution de systèmes virtualisés multiniveaux [Master's thesis, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/2209/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item