This paper reports on improvements to Xen's networking performance resulting from the re-design and the re-implementation of certain aspects of its network virtualization and better support for advanced, hardware memory management features. Our design remains compatible with the basic Xen 2.0 architecture of locating device drivers in a privileged driver domain that has direct access to the devices, and providing ordinary, unprivileged guest operating systems in guest domains access to the network through virtualized interfaces.
We investigate three techniques. First, we define a new virtual network interface that incorporates many of the optimizations common in hardware network interfaces. We demonstrate that the use of such a virtual interface leads to much better transmit performance, even if the hardware interface does not support the optimizations. Second, we optimize the implementation of the I/O channel between the driver domain and the guest domains. On the transmit side we avoid any remapping of the data into the driver domain, and on the receive side we copy the data, instead of the current page remapping approach. Finally, we provide support for the use of superpages and global page table bits in guest operating systems.
We show that, with these optimizations, transmit performance from a guest domain improves by a factor of 4.4, approaching the performance of native Linux within 12%. Furthermore, receive performance in the driver domain improves by 35%, coming within 7% of native Linux performance. Receive performance in a guest domain improves by 18%, but stays well behind the native Linux performance by 61%. We provide a detailed analysis of these results, quantifying the benefits of the individual optimizations.
<i>
Authors: Aravind Menon, Alan L. Cox, and Willy Zwaenepoel
Date: 2006
</i>|||||http://www.cse.psu.edu/~bhuvan/teaching/spring06/papers/xen-net-opt.pdf