vRIO: Efficient Paravirtual Remote I/O

Yossi Kuperman, M.Sc. Thesis Seminar
Wednesday, 9.7.2014, 15:30
Taub 401
Prof. Dan Tsafrir

Paravirtual I/O allows the host to interpose on the I/O activity of its guest VMs. Recent studies show significant performance benefits when dividing host cores into "VMcores" dedicated to running VMs and "IOcores" dedicated to processing their paravirtual I/O. In the context of rack-scale computing, we propose to push this design further by designating physical host servers to be either "VMhosts" or "IOhosts", such that VMhosts offload their paravirtual I/O processing to remote IOhosts. We call this design paravirtual remote I/O (vRIO), and we investigate its tradeoffs. The inherent downside of vRIO is that it prolongs I/O latency; for network workloads we manage to keep it at most 18% longer than state-of-the-art paravirtualization, as for block workloads we observed that at most the latency was 2.2x compared to the state-of-the-art. The benefits of vRIO include: (1) improved resource utilization; (2) better performance and scalability upon imbalanced load conditions; (3) enabling a cost effective way to increase rack-scale I/O performance by equipping (only) the IOhosts with accelerators; (4) providing an I/O virtualization architecture that is hardware- and hypervisor-agnostic, e.g., enabling x86 and POWER servers running the ESXi and KVM hypervisors to seamlessly interoperate using the same IOhost(s); and (5) allowing for virtual I/O devices to be used by bare-metal (non-virtual) operating systems.

Back to the index of events