Abstract:
Virtualization offers data center with efficient server consolidation and flexible application deployment, but it requires data center servers improve their I/O devices to get with the needs of virtualization, and to make up the performance degradation brought by device virtual sharing between virtual machines. These changes bring the redundancy of I/O devices for each server under current I/O architecture, increase the cost of data center infrastructure and add more I/O cables between servers. To solve these problems, we design and implement a SRIOV-based multi-root I/O resource pooling method. Through a hardware-based PCIe ID remapping and address remapping technology, virtual functions in the same SR-IOV I/O devices can be shared among different physical servers, which efficiently reduces the redundancy of I/O resources under virtualization environment. We also adopt a hotplug-based virtual I/O device allocation method to dynamically adjust resources between servers for increasing resource utilization. Experiments prove our design does can provides functions mentioned above and maintain server I/O performance as it using directly-attached devices.