ZCopy-Vhost: Replacing Data Copy With Page Remapping in Virtual Packet I/O

Virtualization technology is the core technology of cloud computing. While virtualization technology offers flexibility in many ways, it also introduces additional performance overhead. For network systems, it needs to provide additional virtual switching, the virtual packet I/O, and other functions. Providing these features requires a lot of CPU resources. As cloud services grow, more and more CPU resources are being used to provide virtualization support, which means that fewer CPUs can be sold to tenants. Therefore, cloud service providers have been constantly seeking more efficient virtualization solutions for network systems. In this paper, we identify one of the main reasons for the large consumption of CPU resources in the virtual networking system – copy and propose to use memory page remapping technology to eliminate the copy. Moreover, to adapt to the zero-copy technology, we have integrated the technology with a mature virtual switch software in the host and a userspace protocol stack in the virtual machine. These components together build a more efficient network system in virtual environments. The evaluations with microbenchmarks and macrobenchmark show that our system performs much better than the state-of-the-art solutions.

[1]  Srilatha Manne,et al.  Accelerating two-dimensional page walks for virtualized systems , 2008, ASPLOS.

[2]  K. K. Ramakrishnan,et al.  NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms , 2014, IEEE Transactions on Network and Service Management.

[3]  Juan E. Navarro,et al.  Practical, transparent operating system support for superpages , 2002, OSDI '02.

[4]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[5]  Ole Agesen,et al.  A comparison of software and hardware techniques for x86 virtualization , 2006, ASPLOS XII.

[6]  Martín Casado,et al.  The Design and Implementation of Open vSwitch , 2015, NSDI.

[7]  Qian Xu,et al.  VIRTIO-USER: A New Versatile Channel for Kernel-Bypass Networks , 2017, KBNets@SIGCOMM.

[8]  Dongyang Wang,et al.  Zcopy-vhost: Eliminating Packet Copying in Virtual Network I/O , 2017, 2017 IEEE 42nd Conference on Local Computer Networks (LCN).

[9]  Subasish Mohapatra,et al.  Virtualization: A Survey on Concepts, Taxonomy and Associated Security Issues , 2010, 2010 Second International Conference on Computer and Network Technology.

[10]  Thomas R. Gross,et al.  A Hybrid I/O Virtualization Framework for RDMA-capable Network Interfaces , 2015, VEE.

[11]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

[12]  A. Kivity,et al.  kvm : the Linux Virtual Machine Monitor , 2007 .

[13]  Kushagra Vaid,et al.  Azure Accelerated Networking: SmartNICs in the Public Cloud , 2018, NSDI.

[14]  Mohsine Eleuldj,et al.  OpenStack: Toward an Open-source Solution for Cloud Computing , 2012 .