A VM-friendly NIC architecture for cloud computing

Longfei Li, Yangchun Shi, Jianfeng Wang, HE Zhan-zhuang · 2017

When multiple virtual machines (VMs) are running on the same physical device, inner-VM switching and VM's bandwidth allocation are usually achieved by hypervisor, without any NIC support. Although there have been several optimization algorithms for hypervisor, these software-based methods still can't be optimal solutions because of extra CPU workloads. Motivated by the studies, we proposed a VM-friendly NIC architecture that achieves inner-VM switching and bandwidth allocation functions based on hardware. In order to switch packets between VMs, the new architecture allows TX engine to forward packets from one TX queue to target VM's RX queue by providing an access of RX BD (Buffer Descriptor) ring to TX engine. On the other hand, we proposed a method to allocate each VM's bandwidth based on the RX statistics, significantly without any CPU cost. Experimental results demonstrate that the new NIC architecture not only reduces the CPU utilization for both inner-VM switching and bandwidth allocation, but also improve target VM's throughput for multiple VM, while maintain good compatibility with hypervisor.

Read the paper · More papers on PaperTik