On Multiple Virtual NICs in Cloud Computing: Performance Bottleneck and Enhancement

Multiple network interface card (NIC) configuration is the key to achieving service isolation and link aggregation in enterprise networks. Despite the increasing deployments of multiple virtual NICs (multi-vNIC) in cloud environments, the performance and hidden cost of such multi-vNIC configurations are yet to be understood. Our measurements in both Xen and KVM environments reveal that the network workloads on one virtual NIC can negatively affect the transmission performance on other virtual NICs. Such a bottleneck however does not exist in conventional physical machines or to a much lower degree. We therefore explore the possible approaches to detect and resolve such a problem in the virtualization architecture design. In particular, a mutual information-based model is developed to monitor the stability of virtual NIC pairs. Based on this model, we further design a bottleneck avoidance mode to enhance the network performance. Different from the previous research that merely optimizes virtualized network I/O stack, our solution focuses on the entire application I/O workflow in the cloud environments. Extensive evaluations show that our enhancements can mitigate the performance degradation of multi-vNIC configuration, making it a practically workable solution for cloud environments.

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

[2]  Peter Snyder,et al.  tmpfs: A Virtual Memory File System , 1990 .

[3]  Sung-Hyuk Cha Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions , 2007 .

[4]  Anand Sivasubramaniam,et al.  Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms , 2007, VEE '07.

[5]  Ramana Rao Kompella,et al.  Protocol Responsibility Offloading to Improve TCP Throughput in Virtualized Environments , 2013, ACM Trans. Comput. Syst..

[6]  Ryan Shea,et al.  Network interface virtualization: challenges and solutions , 2012, IEEE Network.

[7]  Robert Birke,et al.  When Virtual Meets Physical at the Edge: A Field Study on Datacenters' Virtual Traffic , 2015, SIGMETRICS.

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

[9]  Cong Xu,et al.  vPipe: Piped I/O Offloading for Efficient Data Movement in Virtualized Clouds , 2014, SoCC.

[10]  Xiaolan Zhang,et al.  XenSocket: A High-Throughput Interdomain Transport for Virtual Machines , 2007, Middleware.

[11]  Ryan Shea,et al.  Energy Efficiency of Cloud Virtual Machines: From Traffic Pattern and CPU Affinity Perspectives , 2017, IEEE Systems Journal.

[12]  Hwanju Kim,et al.  Demand-based coordinated scheduling for SMP VMs , 2013, ASPLOS '13.

[13]  Denis Filimonov,et al.  VAMOS: Virtualization Aware Middleware , 2011, WIOV.

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

[15]  A. Halpern,et al.  Weighted neighbor joining: a likelihood-based approach to distance-based phylogeny reconstruction. , 2000, Molecular biology and evolution.

[16]  Jian Wang,et al.  XenLoop: a transparent high performance inter-vm network loopback , 2008, HPDC.

[17]  J. Bottomley,et al.  VirtFS — A virtualization aware File System pass-through , 2010 .

[18]  Feng Wang,et al.  A deep investigation into network performance in virtual machine based cloud environments , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

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

[20]  Chenyang Lu,et al.  RT-Xen: Towards real-time hypervisor scheduling in Xen , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[21]  Ajay Gulati,et al.  hClock: hierarchical QoS for packet scheduling in a hypervisor , 2013, EuroSys '13.

[22]  Klara Nahrstedt,et al.  Janus: a cross-layer soft real-time architecture for virtualization , 2010, HPDC '10.

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

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