Optimizing Nested Virtualization Performance Using Direct Virtual Hardware

Optimizing Nested Virtualization Performance Using Direct Virtual Hardware
复制标题

DOI:
10.1145/3373376.3378467
复制
发表时间:
2020-03
期刊:
Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
J. Lim;Jason Nieh
J. Lim;Jason Nieh
中科院分区:
其他
文献类型:
--
作者:
J. Lim;Jason Nieh

文献摘要

被引文献

相似文献

由于需要在虚拟化云基础架构之上部署运行软件堆栈的虚拟机,因此在其他虚拟机和虚拟机管理程序之上运行虚拟机和虚拟机管理程序的嵌套虚拟化变得越来越重要。然而,性能仍然是进一步采用的关键障碍,因为应用程序工作负载的性能可能比本机执行差很多倍。为了解决这个问题,我们引入了DVH(直接虚拟硬件),这是一种新的方法,它使主机虚拟机管理程序(直接在硬件上运行的虚拟机管理程序)能够直接向嵌套的虚拟机提供虚拟硬件,而无需多级虚拟机管理程序的干预。我们介绍了四个DVH机制,虚拟直通,虚拟定时器,虚拟处理器间中断,和虚拟空闲。DVH为这些机制提供了虚拟硬件,这些机制模仿底层硬件,在某些情况下还增加了新的增强功能,这些增强功能利用了软件的灵活性,而无需匹配物理硬件支持。我们已经在Linux KVM管理程序中实现了DVH。我们的实验结果表明,DVH可以提供接近本机的执行速度,并提高KVM性能超过一个数量级的真实的应用程序的工作负载。
Nested virtualization, running virtual machines and hypervisors on top of other virtual machines and hypervisors, is increasingly important because of the need to deploy virtual machines running software stacks on top of virtualized cloud infrastructure. However, performance remains a key impediment to further adoption as application workloads can perform many times worse than native execution. To address this problem, we introduce DVH (Direct Virtual Hardware), a new approach that enables a host hypervisor, the hypervisor that runs directly on the hardware, to directly provide virtual hardware to nested virtual machines without the intervention of multiple levels of hypervisors. We introduce four DVH mechanisms, virtual-passthrough, virtual timers, virtual inter-processor interrupts, and virtual idle. DVH provides virtual hardware for these mechanisms that mimics the underlying hardware and in some cases adds new enhancements that leverage the flexibility of software without the need for matching physical hardware support. We have implemented DVH in the Linux KVM hypervisor. Our experimental results show that DVH can provide near native execution speeds and improve KVM performance by more than an order of magnitude on real application workloads.