Skip to content (access key 's')
Logo of Technion
Logo of CS Department


Investigating the Difference Between Emulated and Paravirtual Network I/O: The Strange, Untold Story
event speaker icon
Aviv Ben-David, M.Sc. Thesis Seminar
event date icon
Monday, 15.3.2021, 18:00
event location icon
Zoom Lecture: 96844553386
For password to lecture, please contact:
event speaker icon
Advisor:  Prof. Dan Tsafrir
In virtual setups, guest virtual machines (VMs) perform their I/O through virtual I/O devices that are implemented by the hypervisor in software. There are two major flavors of virtual I/O devices. The first is ``emulation’’, which provides an interface identical to that of some preexisting physical I/O device, thus allowing the operating system (OS) inside the VM to use the original driver of the device, as is, unaware that it is in fact virtual (implemented in software). The second software indirection layer flavor is ``paravirtualization’’, which makes the VM aware that it is being virtualized. The purpose of paravirtual devices is to leverage this awareness to reduce the number of virtualization exits (context switches between guest and hypervisor) and thus improve performance. Focusing on networking, we observe that the performance of emulation is so much worse than that of paravirtualization, that it significantly reduces the utility of emulation and effectively prevents performance-sensitive users from enjoying the benefits. We hypothesize that the poor performance of emulation is unjustified and can be rectified. Our hypothesis is based on a simple model that accounts for the additional virtualization exits incurred by emulation relative to paravirtualization. The model indicates that the poor performance exhibited by emulation could be due to issues different than exits, suggesting that these issues may be resolvable. We systematically analyze the implementation of emulation as compared to paravirtualization. We uncover the problems underlying the performance difference and find that, indeed, they can largely be resolved.
[Back to the index of events]