Shrinking the hypervisor one subsystem at a time: a userspace packet switch for virtual machines

  • Authors:
  • Julian Stecklina

  • Affiliations:
  • TU Dresden, Dresden, Germany

  • Venue:
  • Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Efficient and secure networking between virtual machines is crucial in a time where a large share of the services on the Internet and in private datacenters run in virtual machines. To achieve this efficiency, virtualization solutions, such as Qemu/KVM, move toward a monolithic system architecture in which all performance critical functionality is implemented directly in the hypervisor in privileged mode. This is an attack surface in the hypervisor that can be used from compromised VMs to take over the virtual machine host and all VMs running on it. We show that it is possible to implement an efficient network switch nfor virtual machines as an unprivileged userspace component running in the host system including the driver for the upstream network adapter. Our network switch relies on functionality already present in the KVM hypervisor and requires no changes to Linux, the host operating system, and the guest. Our userspace implementation compares favorably to the existing in-kernel implementation with respect to throughput and latency. We reduced per-packet overhead by using a run-to-completion model an are able to outperform the unmodified system for VM-to-VM traffic by a large margin when packet rates are high.