vTurbo: Accelerating Virtual Machine I/O Processing Using Designated Turbo-Sliced Core

In a virtual machine (VM) consolidation environment, it has been observed that CPU sharing among multiple VMs will lead to I/O processing latency because of the CPU access latency experienced by each VM. In this paper, we present vTurbo, a system that accelerates I/O processing for VMs by offloading I/O processing to a designated core. More specifically, the designated core - called turbo core - runs with a much smaller time slice (e.g., 0.1ms) than the cores shared by production VMs. Most of the I/O IRQs for the production VMs will be delegated to the turbo core for more timely processing, hence accelerating the I/O processing for the production VMs. Our experiments show that vTurbo significantly improves the VMs' network and disk I/O throughput, which consequently translates into application-level performance improvement.

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

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

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

[4]  Ram Huggahalli,et al.  Architectural Breakdown of End-to-End Latency in a TCP/IP Network , 2007, 19th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'07).

[5]  Zhao Yu,et al.  SR-IOV Networking in Xen: Architecture, Design and Implementation , 2008, Workshop on I/O Virtualization.

[6]  Willy Zwaenepoel,et al.  Optimizing TCP Receive Performance , 2008, USENIX ATC.

[7]  Willy Zwaenepoel,et al.  TwinDrivers: semi-automatic derivation of fast and safe hypervisor network drivers from guest OS drivers , 2009, ASPLOS.

[8]  Navjot Singh,et al.  Performance implications of hosting enterprise telephony applications on virtualized multi-core platforms , 2009, IPTComm.

[9]  Li Xia,et al.  I/O scheduling model of virtual machine based on multi-core dynamic partitioning , 2010, HPDC '10.

[10]  Ada Gavrilovska,et al.  Differential virtual time (DVT): rethinking I/O service differentiation for virtual machines , 2010, SoCC '10.

[11]  Muli Ben-Yehuda,et al.  IsoStack - Highly Efficient Network Processing on Dedicated Cores , 2010, USENIX Annual Technical Conference.

[12]  Navjot Singh,et al.  Supporting soft real-time tasks in the xen hypervisor , 2010, VEE '10.

[13]  Ramana Rao Kompella,et al.  vSnoop: Improving TCP Throughput in Virtualized Environments via Acknowledgement Offload , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[14]  Daniel Gooch,et al.  Communications of the ACM , 2011, XRDS.

[15]  Radu Sion,et al.  Enhancement of Xen's scheduler for MapReduce workloads , 2011, HPDC '11.

[16]  Ramana Rao Kompella,et al.  Opportunistic flooding to improve TCP transmit performance in virtualized clouds , 2011, SOCC '11.

[17]  Alex Landau,et al.  ELI: bare-metal performance for I/O virtualization , 2012, ASPLOS XVII.

[18]  Cong Xu,et al.  vSlicer: latency-aware virtual machine scheduling via differentiated-frequency CPU slicing , 2012, HPDC '12.

[19]  Cho-Li Wang,et al.  vBalance: using interrupt load balance to improve I/O performance for SMP virtual machines , 2012, SoCC '12.

[20]  Amin Vahdat,et al.  Chronos: predictable low latency for data center applications , 2012, SoCC '12.

[21]  Robert Tappan Morris,et al.  Improving network connection locality on multicore systems , 2012, EuroSys '12.