Conference paper Open Access

Lightweight and Generic RDMA Engine Para-Virtualization for the KVM Hypervisor

Angelos Mouzakitis; Christian Pinto; Nikolay Nikolaev; Alvise Rigo; Daniel Raho; Babis Aronis; Manolis Marazakis

Remote DMA (RDMA) engines are widely used in clusters/data-centres to improve the performance of data transfers between applications running on different nodes of a computing system. RDMAs are today supported by most network architectures and distributed programming models. However, with the massive usage of virtualization most applications will use RDMAs from virtual machines, and the virtualization of such I/O devices poses several challenges. This paper describes a generic para-virtualization framework based on API Remoting, providing at the same time the flexibility of software based virtualization, and the low overhead of hardware-assisted solutions. The solution presented in this paper is targeting the KVM hypervisor, but is not bound to any target network architecture or specific RDMA engine, thanks to the virtualization at the level of the programming API. In addition, two of the major limitations of para-virtualization are addressed: data sharing between host and guest, and interactions between guests and hypervisor. A set of experimental results showed a near to native performance for the final user of the RDMA (i.e., maximum transfer bandwidth), with a higher overhead only to simulate the API functions used to initialize the RDMA device or allocate/deallocate RDMA buffers.

This paper has been accepted for publication at the 2017 International Conference on High Performance Computing & Simulation (HPCS 2017), Genoa, Italy, July 17 – 21, 2017
Files (844.8 kB)
Name Size
exanest_rdma_virtualization_hpcs2017.pdf md5:fdfadd9726593e9b8781b6f65dfa4562 844.8 kB Download


Cite as