Hyper-Switch: A Scalable Software Virtual Switching Architecture

Authors: 

Kaushik Kumar Ram, Alan L. Cox, Mehul Chadha, and Scott Rixner, Rice University

Abstract: 

In virtualized datacenters, the last hop switching happens inside a server. As the number of virtual machines hosted on the server goes up, the last hop switch can be a performance bottleneck. This paper presents the Hyper-Switch, a highly efficient and scalable softwarebased network switch for virtualization platforms that support driver domains. It combines the best of the existing I/O virtualization architectures by hosting device drivers in a driver domain to isolate faults and placing the packet switch in the hypervisor for efficiency. In addition, this paper presents several optimizations that enhance performance. They include virtual machine (VM) state-aware batching of packets to mitigate the costs of hypervisor entries and guest notifications, preemptive copying and immediate notification of blocked VMs to reduce packet arrival latency, and, whenever possible, packet processing is dynamically offloaded to idle processor cores. These optimizations enable efficient packet processing, better utilization of the available CPU resources, and higher concurrency. 

We implemented a Hyper-Switch prototype in the Xen virtualization platform. This prototype’s performance was then compared to Xen’s default network I/O architecture and KVM’s vhost-net architecture. The Hyper-Switch prototype performed better than both, especially for inter-VM network communication. For instance, in one scalability experiment measuring aggregate inter-VM network throughput, the Hyper-Switch achieved a peak of 81 Gbps as compared to only 31 Gbps under Xen and 47 Gbps under KVM

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {180182,
author = {Kaushik Kumar Ram and Alan L. Cox and Mehul Chadha and Scott Rixner},
title = {{Hyper-Switch}: A Scalable Software Virtual Switching Architecture},
booktitle = {2013 USENIX Annual Technical Conference (USENIX ATC 13)},
year = {2013},
isbn = {978-1-931971-01-0},
address = {San Jose, CA},
pages = {13--24},
url = {https://www.usenix.org/conference/atc13/technical-sessions/presentation/ram},
publisher = {USENIX Association},
month = jun
}

Presentation Video 

Presentation Audio