Technical Report MSC-2021-19

TR#:MSC-2021-19
Class:MSC
Title: Investigating the Difference Between Emulated and Paravirtual Network I/O: The Strange, Untold Story
Authors: Aviv Ben David
Supervisors: Dan Tsafrir
PDFCurrently accessibly only within the Technion network
Abstract: 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.

CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-info.cgi/2021/MSC/MSC-2021-19), rather than to the URL of the PDF files directly. The latter URLs may change without notice.

To the list of the MSC technical reports of 2021
To the main CS technical reports page

Computer science department, Technion
admin