filmov
tv
KVM-devirt: Extending KVM to a Zero-Overhead Partition Hypervisor - Liang Deng, Bytedance

Показать описание
KVM-devirt: Extending KVM to a Zero-Overhead Partition Hypervisor - Liang Deng, Bytedance
With the increase of cores on a single server, Linux kernel encounters many-core scalability bottlenecks. A simple solution is to use KVM virtualization to partition the server's physical resources and manage each subset in a VM. However, the existing KVM virtualization, whose goal is the assurance of VM isolation, inevitably introduces performance overhead due to VM exits and additional address translations. This presentation introduces KVM-devirt which extends the current KVM to a zero-overhead partition hypervisor. It runs bare-metal machines (BMs) for physical resource partition instead of isolation on both Intel and AMD platforms. To eliminate virtualization overhead, KVM-devirt leverages a set of privilege instruction and interrupt passthrough techniques which eliminate all VM exits during BM execution. Meanwhile, it also removes the uses of both stage-2 address translations (EPT or NPT) and DMA remap translations on IOMMU. As a result, the BM running on KVM-devirt can achieve the same performance as a raw server. In the session, the technical approach is explained, as well as showing the implementation, experimental results, several open questions and the future plans.
With the increase of cores on a single server, Linux kernel encounters many-core scalability bottlenecks. A simple solution is to use KVM virtualization to partition the server's physical resources and manage each subset in a VM. However, the existing KVM virtualization, whose goal is the assurance of VM isolation, inevitably introduces performance overhead due to VM exits and additional address translations. This presentation introduces KVM-devirt which extends the current KVM to a zero-overhead partition hypervisor. It runs bare-metal machines (BMs) for physical resource partition instead of isolation on both Intel and AMD platforms. To eliminate virtualization overhead, KVM-devirt leverages a set of privilege instruction and interrupt passthrough techniques which eliminate all VM exits during BM execution. Meanwhile, it also removes the uses of both stage-2 address translations (EPT or NPT) and DMA remap translations on IOMMU. As a result, the BM running on KVM-devirt can achieve the same performance as a raw server. In the session, the technical approach is explained, as well as showing the implementation, experimental results, several open questions and the future plans.