Yossi Kuperman, M.Sc. Thesis Seminar
Wednesday, 9.7.2014, 15:30
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.