KVM-devirt: Extending KVM to a Zero-Overhead Partition Hypervisor - Liang Deng, Bytedance
Channel: The Linux Foundation
Date: 2022-10-08

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.