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.
Bibliographical noteFunding Information:
Manuscript received September 21, 2016; revised January 29, 2017 and May 17, 2017; accepted August 6, 2017. Date of publication September 21, 2017; date of current version August 23, 2018. This work was supported in part by an NSERC Discovery Grant, in part by an E.W.R. Steacie Memorial Fellowship, and in part by an Industrial Canada Technology Demonstration Program (TDP) grant. (Corresponding author: Jiangchuan Liu.) C. Xu, R. Shea, and J. Liu are with the School of Computing, Simon Fraser University, Burnaby, BC V5A 1S6, Canada (e-mail: email@example.com; firstname.lastname@example.org; email@example.com).
© 2018 IEEE.
Copyright 2018 Elsevier B.V., All rights reserved.
- Network interfaces
- Performance loss
- Platform virtualization
- Virtual machine (VM) monitors