Abstract
InfiniBand is a high-bandwidth, low-latency interconnection architecture, and is commonly used in clusters. However, there are performance overhead and memory allocation problem using InfiniBand in QEMU/KVM under software-based virtualization. InfiniBand host channel adapters have OS-bypass characteristic, which device communicates with user-space applications without OS involvement or data copying, thus provides better performance. Virt-IB is an InfiniBand virtualization implementation on QEMU/KVM. It was implemented without benefiting from OS-bypass, therefore it provides only 25%–50% of native throughput. In this work, we provide Virt-IB-Memlink, an improved InfiniBand virtualization. Our work is based on Virt-IB, with two major improvements to achieve higher performance. One is memlink, which ensures memory contiguity and brings zero-copy between guest and host. The other is doorbell mapping, which guest user-space can notify the device directly by assigning the doorbell memory page onto guest memory space. With these two enhancements, in spite of performance degradation of random memory read access, our InfiniBand virtualization delivers native performance when transmitting large chunk of data at once.