Achieving High Throughput by Transparent Network Interface Virtualization on Multi-core Systems

Huiyong Zhang,Yuebin Bai,Zhi Li,Niandong Du,Wentao Yang
DOI: https://doi.org/10.1109/CloudCom.2010.62
2010-01-01
Abstract:Though with the rapid development, there remains a challenge on achieving high performance of I/O virtualization. The Para virtualized I/O driver domain model, used in Xen, provides several advantages including fault isolation, live migration, and hardware independence. However, the high CPU overhead of driver domain leads to low throughput for high bandwidth links. Direct I/O can achieve high performance but at the cost of removing the benefits of the driver domain model. This paper presents software techniques and optimizations to achieve high throughput network I/Ovirtualization by driver domain virtualization model on multicore systems. In our experiments on multi-core system with a quad-port 1GbE NIC, we observe the overall throughput of multiple guest VMs can only be 2.2Gb/s, while the link bandwidth is 4Gb/s in total. The low performance results from the disability of driver domain to concurrently serve multiple guest VMs running bandwidth-intensive applications. Consequently, two approaches are proposed. First, a multi task let net back is implemented to serve multiple net fronts on currently. Second, we implement a new event channel dispatch mechanism to balance event associated with networkI/O over VCPUs of driver domain. To reduce the CPU overhead of the driver domain model, we also propose two optimizations: lower down event frequency in netback and implement LRO in net front. By applying all the above techniques, our experiments show that the overall throughput can be improved from the original 2.2Gb/s to 3.7Gb/s and the multi-core CPU resources can be utilized efficiently. We believe that the approaches of our study can be valuable for high throughput I/O virtualization in the coming multi-core era.
What problem does this paper attempt to address?