Vagabond: Dynamic Network Endpoint Reconfiguration in Virtualized Environments

One of the biggest challenges of virtualization today is to efficiently share and manage network devices among different virtual machines (VMs). Software-based network virtualization solutions like device emulation and split driver device models have advantages of resource sharing and fine grained hypervisor resource control. However, software based approaches have performance and scalability impediments due to the software interventions for every I/O activity. Recent hardware advancements in network devices allow in-device partitioning and assignment of network functions to different guest operating systems. The nature of the assignment is static which gives rise to inflexibility in efficient network resource management. Additionally, fine grained hypervisor control on the network device is compromised because of the direct hardware assignment to the guest virtual machine. In this work, we propose Vagabond, an alternate network virtualization model that supports flexible and dynamic assignment of network resources to guest VMs. The most significant advantage of the proposed model is to facilitate a framework to manage network resources efficiently when the number of hardware in-device partitions are less than the number of VMs. Additionally the advantages of software based network virtualization are kept intact to overcome the difficulties posed due to direct hardware assignment to the guest. Our experimental evaluation shows that the CPU resource overhead with Vagabond is up to 2x lower than the software approach. Compared to the direct hardware assignment, Vagabond incurs an additional overhead of 17% in the best case. We demonstrate the applicability and usage of Vagabond with two use cases: live migration of VMs connected to hardware in-device partitions and a fair-share network resource allocation scheme.

[1]  Jose Renato Santos,et al.  Bridging the Gap between Software and Hardware Techniques for I/O Virtualization , 2008, USENIX Annual Technical Conference.

[2]  Alan L. Cox,et al.  Optimizing network virtualization in Xen , 2006 .

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

[4]  Amin Vahdat,et al.  FasTrak: enabling express lanes in multi-tenant data centers , 2013, CoNEXT.

[5]  Gil Neiger,et al.  Intel ® Virtualization Technology for Directed I/O , 2006 .

[6]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[7]  David Chisnall,et al.  The Definitive Guide to the Xen Hypervisor , 2007 .

[8]  Willy Zwaenepoel,et al.  Diagnosing performance overheads in the xen virtual machine environment , 2005, VEE '05.

[9]  Jiuxing Liu Evaluating standard-based self-virtualizing devices: A performance study on 10 GbE NICs with SR-IOV support , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[10]  Xiaowei Yang,et al.  High performance network virtualization with SR-IOV , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[11]  Carl A. Waldspurger,et al.  Memory resource management in VMware ESX server , 2002, OSDI '02.

[12]  Michael L. Scott,et al.  Disengaged scheduling for fair, protected access to fast computational accelerators , 2014, ASPLOS.

[13]  Dutch T. Meyer,et al.  Remus: High Availability via Asynchronous Virtual Machine Replication. (Best Paper) , 2008, NSDI.

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

[15]  Jose Renato Santos,et al.  Redesigning xen's memory sharing mechanism for safe and efficient I/O virtualization , 2010 .

[16]  Yasushi Saito,et al.  Devirtualizable virtual machines enabling general, single-node, online maintenance , 2004, ASPLOS XI.

[17]  Alan L. Cox,et al.  Concurrent Direct Network Access for Virtual Machine Monitors , 2007, 2007 IEEE 13th International Symposium on High Performance Computer Architecture.

[18]  Beng-Hong Lim,et al.  Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor , 2001, USENIX Annual Technical Conference, General Track.

[19]  Sunay Tripathi,et al.  Crossbow: from hardware virtualized NICs to virtualized networks , 2009, VISA '09.

[20]  Scott Rixner,et al.  Network Virtualization: Breaking the Performance Barrier , 2008, ACM Queue.

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

[22]  Karsten Schwan,et al.  High performance and scalable I/O virtualization via self-virtualized devices , 2007, HPDC '07.

[23]  Alan L. Cox,et al.  Achieving 10 Gb/s using safe and transparent network interface virtualization , 2009, VEE '09.

[24]  Andrew Warfield,et al.  Safe Hardware Access with the Xen Virtual Machine Monitor , 2007 .

[25]  Jennifer Rexford,et al.  NoHype: virtualized cloud infrastructure without the virtualization , 2010, ISCA.

[26]  Lei Zhang,et al.  CompSC: live migration with pass-through devices , 2012, VEE '12.

[27]  Yang Zhang,et al.  Optimizing Network I/O Virtualization with Efficient Interrupt Coalescing and Virtual Receive Side Scaling , 2011, 2011 IEEE International Conference on Cluster Computing.

[28]  Kieran Mansley,et al.  Getting 10 Gb/s from Xen: Safe and Fast Device Access from Unprivileged Domains , 2007, Euro-Par Workshops.

[29]  Yaozu Dong,et al.  ReNIC: Architectural extension to SR-IOV I/O virtualization for efficient replication , 2012, TACO.