18 research outputs found

    Résilience et dimensionnement dans des environnements virtualisés

    No full text
    Virtual machine monitors (VMMs) or hypervisors play a crucial role in cloud computing platforms’ software stack. Their design and implementation significantly impact the performance, security, and robustness of cloud tenants applications. Hypervisors classified as Type-I are the most efficient, since they offer stronger isolation and better performance than Type-II pendant. In most of today’s Type-I virtualized systems (e.g., Xen or Hyper-V), the hypervisor relies on a privileged virtual machine (pVM). The pVM accomplishes work both for the hypervisor (e.g., VM life cycle management) and client VMs (I/O management). On uniform and non-uniform memory access (UMA & NUMA) architectures, this pVM-based architecture raises two challenging problems :‱ (1) pVM’s resource sizing (CPU + memory) and placement — Indeed, an inappropriate pVM sizing and resource placement impact guests’ application performance. It is a tricky issue since there is a tight correlation between pVM’s needs and guest activities. Existing solutions either propose static approaches which lead to over/under-provisioning or do notconsider resource placement in NUMA architectures. ‱ (2) pVM’s fault tolerance — Being a central component, the pVM represents a critical component with a large blast radius in case of a failure. Existing approaches to improve the pVM’s fault tolerance provide limited resilience guarantees or prohibitive overheads. This dissertation presents several design changes brought to the pVM from architectural and logical perspectives to tackle these problems. Concretely, this thesis introduces : 1. Closer, a principle for designing a suitable OS for the pVM. Closer consists of respectively scheduling and allocating pVM’s tasks and memory as close to the target guest as possible. Closer being a dynamic approach, alleviates the need to size the pVM and handles its resource placement in NUMA architectures with its locality strategy. 2. Two new mechanisms that reduce the overhead of page flipping (an efficient scheme used in network I/O virtualization) when used on NUMA architectures. By carefully selecting pVM pages for page flipping depending on their location, the latter mechanisms achieve better performance than the current network virtualization protocol. 3. A set of three design principles (disaggregation, specialization, and pro-activity) and optimized implementation techniques for building a resilient pVM without sacrificing guest application performance.We build prototypes of pVM-based hypervisors (relying on the Xen hypervisor) that implements all the principles above. We validate the effectiveness of our prototypes by conducting several evaluations with a series of benchmarks. The results obtained shows better performance than state-of-the-art approaches and low overhead.This dissertation highlights the critical role of the pVM in a virtualized environment and shows that it requires more attention from the research community.Les systĂšmes de virtualisations ou hyperviseurs jouent un rĂŽle crucial dans la pile logicielle des plateformes de cloud computing. Leur conception et leur mise en oeuvre ont un impact significatif sur la performance, la sĂ©curitĂ© et la robustesse des applications des utilisateurs du cloud. Les hyperviseurs dits de Type-I sont les plus efficaces, car ils offrent une meilleure isolation et de meilleures performances que leur homologue de Type-II. Pour la majoritĂ© des hyperviseurs de Type-I actuel (ex., Xen ou Hyper-V), l’hyperviseur s’appuie sur une machine virtuelle privilĂ©giĂ©e (pVM). La pVM accomplit des tĂąches Ă  la fois pour l’hyperviseur (ex., l’administration des VMs) et pour les VMs (gestion des entrĂ©es/sorties). Sur les architectures d’accĂšs mĂ©moire uniforme et non uniforme (UMA & NUMA), cette architecture basĂ©e sur la pVM pose deux problĂšmes : — (1) le dimensionnement et le placement des ressources de la pVM (CPU + mĂ©moire) — En effet, un mauvais dimensionnement et placement des ressources de la pVM impacte fortement la performance des applications des VMs. Le problĂšme est complexe, car il existeune forte corrĂ©lation entre les besoins de la pVM et les activitĂ©s des VMs. Les solutions existantes sont soit des approches statiques qui dĂ©bouchent Ă  un sur/sous dimensionnement ou ne prennent pas en compte le placement des ressources dans une architecture NUMA. — (2) la tolĂ©rance aux pannes de la pVM — La pVM Ă©tant un composant central, elle reprĂ©sente un Ă©lĂ©ment critique dont la zone de dommage en cas de dĂ©faillance est trĂšs large. Les approches existantes pour amĂ©liorer la tolĂ©rance aux pannes de la pVM offrent des faibles garanties de rĂ©silience ou gĂ©nĂšrent des dĂ©gradations importantes. Cette thĂšse propose plusieurs modifications Ă  la pVM d’un point de vue architectural et logique afin de traiter les problĂšmes susmentionnĂ©s. ConcrĂštement, cette thĂšse introduit : 1. Closer, un principe directeur pour la conception d’un OS adaptĂ© aux besoins de la pVM.Closer consiste respectivement Ă  ordonnancer et allouer les tĂąches et la mĂ©moire de la pVM au plus prĂšs des VMs cible. Étant une approche dynamique, il masque le besoin de dimensionner la pVM tout en gĂ©rant le placement des ressources sur une architecture NUMA avec sa stratĂ©gie de localitĂ©. 2. Deux nouveaux mĂ©canismes qui rĂ©duisent les dĂ©gradations du "page flipping" (l’un desprotocoles utilisĂ©s dans la virtualisation des E/S rĂ©seau) lorsqu’elle est utilisĂ©e sur une architecture NUMA. En sĂ©lectionnant avec soin les pages de la pVM qui seront utilisĂ©es lors du "page flipping" en fonction de leur emplacement, ces mĂ©canismes rĂ©alisent de meilleures performances que le protocole de virtualisation rĂ©seau actuel. 3. Un ensemble de trois principes directeurs (dĂ©sagrĂ©gation, spĂ©cialisation et proactivitĂ©) et des techniques d’implĂ©mentation optimisĂ©e pour construire une pVM robuste sans fortement dĂ©grader les performances des applications des VMs. Nous avons dĂ©veloppĂ© des prototypes d’hyperviseurs (en nous appuyant sur l’hyperviseur Xen) qui mettent en oeuvre les principes susmentionnĂ©s. Nous validons l’efficacitĂ© de nos prototypes en effectuant plusieurs Ă©valuations avec une sĂ©rie d’applications bien choisies. Les rĂ©sultats obtenus montrent de meilleures performances que les approches de l’état de l’art tout en observant de faibles dĂ©gradations de performance. Cette thĂšse met en Ă©vidence l’importance de la pVM dans un environnement virtualisĂ© et montre qu’elle requiert plus d’attention de la part de la communautĂ© scientifique

    Resilience and sizing in virtualized environments.

    No full text
    Les systĂšmes de virtualisations ou hyperviseurs jouent un rĂŽle crucial dans la pile logicielle des plateformes de cloud computing. Leur conception et leur mise en oeuvre ont un impact significatif sur la performance, la sĂ©curitĂ© et la robustesse des applications des utilisateurs du cloud. Les hyperviseurs dits de Type-I sont les plus efficaces, car ils offrent une meilleure isolation et de meilleures performances que leur homologue de Type-II. Pour la majoritĂ© des hyperviseurs de Type-I actuel (ex., Xen ou Hyper-V), l’hyperviseur s’appuie sur une machine virtuelle privilĂ©giĂ©e (pVM). La pVM accomplit des tĂąches Ă  la fois pour l’hyperviseur (ex., l’administration des VMs) et pour les VMs (gestion des entrĂ©es/sorties). Sur les architectures d’accĂšs mĂ©moire uniforme et non uniforme (UMA & NUMA), cette architecture basĂ©e sur la pVM pose deux problĂšmes : — (1) le dimensionnement et le placement des ressources de la pVM (CPU + mĂ©moire) — En effet, un mauvais dimensionnement et placement des ressources de la pVM impacte fortement la performance des applications des VMs. Le problĂšme est complexe, car il existeune forte corrĂ©lation entre les besoins de la pVM et les activitĂ©s des VMs. Les solutions existantes sont soit des approches statiques qui dĂ©bouchent Ă  un sur/sous dimensionnement ou ne prennent pas en compte le placement des ressources dans une architecture NUMA. — (2) la tolĂ©rance aux pannes de la pVM — La pVM Ă©tant un composant central, elle reprĂ©sente un Ă©lĂ©ment critique dont la zone de dommage en cas de dĂ©faillance est trĂšs large. Les approches existantes pour amĂ©liorer la tolĂ©rance aux pannes de la pVM offrent des faibles garanties de rĂ©silience ou gĂ©nĂšrent des dĂ©gradations importantes. Cette thĂšse propose plusieurs modifications Ă  la pVM d’un point de vue architectural et logique afin de traiter les problĂšmes susmentionnĂ©s. ConcrĂštement, cette thĂšse introduit : 1. Closer, un principe directeur pour la conception d’un OS adaptĂ© aux besoins de la pVM.Closer consiste respectivement Ă  ordonnancer et allouer les tĂąches et la mĂ©moire de la pVM au plus prĂšs des VMs cible. Étant une approche dynamique, il masque le besoin de dimensionner la pVM tout en gĂ©rant le placement des ressources sur une architecture NUMA avec sa stratĂ©gie de localitĂ©. 2. Deux nouveaux mĂ©canismes qui rĂ©duisent les dĂ©gradations du "page flipping" (l’un desprotocoles utilisĂ©s dans la virtualisation des E/S rĂ©seau) lorsqu’elle est utilisĂ©e sur une architecture NUMA. En sĂ©lectionnant avec soin les pages de la pVM qui seront utilisĂ©es lors du "page flipping" en fonction de leur emplacement, ces mĂ©canismes rĂ©alisent de meilleures performances que le protocole de virtualisation rĂ©seau actuel. 3. Un ensemble de trois principes directeurs (dĂ©sagrĂ©gation, spĂ©cialisation et proactivitĂ©) et des techniques d’implĂ©mentation optimisĂ©e pour construire une pVM robuste sans fortement dĂ©grader les performances des applications des VMs. Nous avons dĂ©veloppĂ© des prototypes d’hyperviseurs (en nous appuyant sur l’hyperviseur Xen) qui mettent en oeuvre les principes susmentionnĂ©s. Nous validons l’efficacitĂ© de nos prototypes en effectuant plusieurs Ă©valuations avec une sĂ©rie d’applications bien choisies. Les rĂ©sultats obtenus montrent de meilleures performances que les approches de l’état de l’art tout en observant de faibles dĂ©gradations de performance. Cette thĂšse met en Ă©vidence l’importance de la pVM dans un environnement virtualisĂ© et montre qu’elle requiert plus d’attention de la part de la communautĂ© scientifique.Virtual machine monitors (VMMs) or hypervisors play a crucial role in cloud computing platforms’ software stack. Their design and implementation significantly impact the performance, security, and robustness of cloud tenants applications. Hypervisors classified as Type-I are the most efficient, since they offer stronger isolation and better performance than Type-II pendant. In most of today’s Type-I virtualized systems (e.g., Xen or Hyper-V), the hypervisor relies on a privileged virtual machine (pVM). The pVM accomplishes work both for the hypervisor (e.g., VM life cycle management) and client VMs (I/O management). On uniform and non-uniform memory access (UMA & NUMA) architectures, this pVM-based architecture raises two challenging problems :‱ (1) pVM’s resource sizing (CPU + memory) and placement — Indeed, an inappropriate pVM sizing and resource placement impact guests’ application performance. It is a tricky issue since there is a tight correlation between pVM’s needs and guest activities. Existing solutions either propose static approaches which lead to over/under-provisioning or do notconsider resource placement in NUMA architectures. ‱ (2) pVM’s fault tolerance — Being a central component, the pVM represents a critical component with a large blast radius in case of a failure. Existing approaches to improve the pVM’s fault tolerance provide limited resilience guarantees or prohibitive overheads. This dissertation presents several design changes brought to the pVM from architectural and logical perspectives to tackle these problems. Concretely, this thesis introduces : 1. Closer, a principle for designing a suitable OS for the pVM. Closer consists of respectively scheduling and allocating pVM’s tasks and memory as close to the target guest as possible. Closer being a dynamic approach, alleviates the need to size the pVM and handles its resource placement in NUMA architectures with its locality strategy. 2. Two new mechanisms that reduce the overhead of page flipping (an efficient scheme used in network I/O virtualization) when used on NUMA architectures. By carefully selecting pVM pages for page flipping depending on their location, the latter mechanisms achieve better performance than the current network virtualization protocol. 3. A set of three design principles (disaggregation, specialization, and pro-activity) and optimized implementation techniques for building a resilient pVM without sacrificing guest application performance.We build prototypes of pVM-based hypervisors (relying on the Xen hypervisor) that implements all the principles above. We validate the effectiveness of our prototypes by conducting several evaluations with a series of benchmarks. The results obtained shows better performance than state-of-the-art approaches and low overhead.This dissertation highlights the critical role of the pVM in a virtualized environment and shows that it requires more attention from the research community

    Résilience et dimensionnement dans des environnements virtualisés

    No full text
    Virtual machine monitors (VMMs) or hypervisors play a crucial role in cloud computing platforms’ software stack. Their design and implementation significantly impact the performance, security, and robustness of cloud tenants applications. Hypervisors classified as Type-I are the most efficient, since they offer stronger isolation and better performance than Type-II pendant. In most of today’s Type-I virtualized systems (e.g., Xen or Hyper-V), the hypervisor relies on a privileged virtual machine (pVM). The pVM accomplishes work both for the hypervisor (e.g., VM life cycle management) and client VMs (I/O management). On uniform and non-uniform memory access (UMA & NUMA) architectures, this pVM-based architecture raises two challenging problems :‱ (1) pVM’s resource sizing (CPU + memory) and placement — Indeed, an inappropriate pVM sizing and resource placement impact guests’ application performance. It is a tricky issue since there is a tight correlation between pVM’s needs and guest activities. Existing solutions either propose static approaches which lead to over/under-provisioning or do notconsider resource placement in NUMA architectures. ‱ (2) pVM’s fault tolerance — Being a central component, the pVM represents a critical component with a large blast radius in case of a failure. Existing approaches to improve the pVM’s fault tolerance provide limited resilience guarantees or prohibitive overheads. This dissertation presents several design changes brought to the pVM from architectural and logical perspectives to tackle these problems. Concretely, this thesis introduces : 1. Closer, a principle for designing a suitable OS for the pVM. Closer consists of respectively scheduling and allocating pVM’s tasks and memory as close to the target guest as possible. Closer being a dynamic approach, alleviates the need to size the pVM and handles its resource placement in NUMA architectures with its locality strategy. 2. Two new mechanisms that reduce the overhead of page flipping (an efficient scheme used in network I/O virtualization) when used on NUMA architectures. By carefully selecting pVM pages for page flipping depending on their location, the latter mechanisms achieve better performance than the current network virtualization protocol. 3. A set of three design principles (disaggregation, specialization, and pro-activity) and optimized implementation techniques for building a resilient pVM without sacrificing guest application performance.We build prototypes of pVM-based hypervisors (relying on the Xen hypervisor) that implements all the principles above. We validate the effectiveness of our prototypes by conducting several evaluations with a series of benchmarks. The results obtained shows better performance than state-of-the-art approaches and low overhead.This dissertation highlights the critical role of the pVM in a virtualized environment and shows that it requires more attention from the research community.Les systĂšmes de virtualisations ou hyperviseurs jouent un rĂŽle crucial dans la pile logicielle des plateformes de cloud computing. Leur conception et leur mise en oeuvre ont un impact significatif sur la performance, la sĂ©curitĂ© et la robustesse des applications des utilisateurs du cloud. Les hyperviseurs dits de Type-I sont les plus efficaces, car ils offrent une meilleure isolation et de meilleures performances que leur homologue de Type-II. Pour la majoritĂ© des hyperviseurs de Type-I actuel (ex., Xen ou Hyper-V), l’hyperviseur s’appuie sur une machine virtuelle privilĂ©giĂ©e (pVM). La pVM accomplit des tĂąches Ă  la fois pour l’hyperviseur (ex., l’administration des VMs) et pour les VMs (gestion des entrĂ©es/sorties). Sur les architectures d’accĂšs mĂ©moire uniforme et non uniforme (UMA & NUMA), cette architecture basĂ©e sur la pVM pose deux problĂšmes : — (1) le dimensionnement et le placement des ressources de la pVM (CPU + mĂ©moire) — En effet, un mauvais dimensionnement et placement des ressources de la pVM impacte fortement la performance des applications des VMs. Le problĂšme est complexe, car il existeune forte corrĂ©lation entre les besoins de la pVM et les activitĂ©s des VMs. Les solutions existantes sont soit des approches statiques qui dĂ©bouchent Ă  un sur/sous dimensionnement ou ne prennent pas en compte le placement des ressources dans une architecture NUMA. — (2) la tolĂ©rance aux pannes de la pVM — La pVM Ă©tant un composant central, elle reprĂ©sente un Ă©lĂ©ment critique dont la zone de dommage en cas de dĂ©faillance est trĂšs large. Les approches existantes pour amĂ©liorer la tolĂ©rance aux pannes de la pVM offrent des faibles garanties de rĂ©silience ou gĂ©nĂšrent des dĂ©gradations importantes. Cette thĂšse propose plusieurs modifications Ă  la pVM d’un point de vue architectural et logique afin de traiter les problĂšmes susmentionnĂ©s. ConcrĂštement, cette thĂšse introduit : 1. Closer, un principe directeur pour la conception d’un OS adaptĂ© aux besoins de la pVM.Closer consiste respectivement Ă  ordonnancer et allouer les tĂąches et la mĂ©moire de la pVM au plus prĂšs des VMs cible. Étant une approche dynamique, il masque le besoin de dimensionner la pVM tout en gĂ©rant le placement des ressources sur une architecture NUMA avec sa stratĂ©gie de localitĂ©. 2. Deux nouveaux mĂ©canismes qui rĂ©duisent les dĂ©gradations du "page flipping" (l’un desprotocoles utilisĂ©s dans la virtualisation des E/S rĂ©seau) lorsqu’elle est utilisĂ©e sur une architecture NUMA. En sĂ©lectionnant avec soin les pages de la pVM qui seront utilisĂ©es lors du "page flipping" en fonction de leur emplacement, ces mĂ©canismes rĂ©alisent de meilleures performances que le protocole de virtualisation rĂ©seau actuel. 3. Un ensemble de trois principes directeurs (dĂ©sagrĂ©gation, spĂ©cialisation et proactivitĂ©) et des techniques d’implĂ©mentation optimisĂ©e pour construire une pVM robuste sans fortement dĂ©grader les performances des applications des VMs. Nous avons dĂ©veloppĂ© des prototypes d’hyperviseurs (en nous appuyant sur l’hyperviseur Xen) qui mettent en oeuvre les principes susmentionnĂ©s. Nous validons l’efficacitĂ© de nos prototypes en effectuant plusieurs Ă©valuations avec une sĂ©rie d’applications bien choisies. Les rĂ©sultats obtenus montrent de meilleures performances que les approches de l’état de l’art tout en observant de faibles dĂ©gradations de performance. Cette thĂšse met en Ă©vidence l’importance de la pVM dans un environnement virtualisĂ© et montre qu’elle requiert plus d’attention de la part de la communautĂ© scientifique

    Takeaways of Implementing a Native Rust UDP Tunneling Network Driver in the Linux Kernel

    No full text
    International audienceC is the primary programming language used in the Linux kernel. Recently, the Linux developer community oversaw the experimental addition of Rust into the kernel's build system. Networking is one of the areas often mentioned when discussing the adoption of Rust. In networking, both perfect memory management and performance are critical. In this paper, we present a Rust UDP tunneling driver for Linux, which provides UDP encapsulation between two peers. We use this driver to discuss design considerations of writing Rust networking code for Linux. We then compare the performance of our driver against a similar driver written in C. We find that our Rust driver performs slightly worse on a gigabit link for both latency (+0.1906%, p-value = 1.464e−15) and throughput (−0.00090%, p-value = 6.004e−5). We then discuss potential causes for that loss
    corecore