Events
The Taub Faculty of Computer Science Events and Talks
Nadav Amit (Ph.D. Thesis Seminar)
Wednesday, 26.03.2014, 13:00
Advisor: Prof. A. Schuster, Prof. D. Tsafrir
Hardware virtualization has long been studied after being introduced to
commodity servers. Despite the ongoing research and the developing
hardware support, virtual machines incur degraded performance in a wide
variety of cases, especially when an unmodified virtual machine
operating system is used. One of the major causes of the experienced
degraded performance is the lack of physical hardware transparency in
virtual machines, since the hypervisor---their controlling
software-layer---usually exposes hardware abstractions instead of the
physical hardware. While such abstractions are often required to
multiplex hardware in virtualization environments, they introduce
inefficiencies.
In our work we investigate a wide variety of scenarios in which the lack
of transparency incurs significant performance overheads: I/O memory
management unit (IOMMU) emulation, interrupts multiplexing by the
hypervisor, and memory over-provisioning. For each of these scenarios we
suggest novel methods to increase transparency without the virtual
machine cooperation, and thereby improve performance without modifying
the virtual machine operating system and without access to its source
code. Accordingly, the methods we propose apply to proprietary operating
systems as well and ease the porting of virtual machines from one
hypervisor to another.
First, we show that the virtual machine performance with IOMMU
emulation, which enhances security, can improve by up to 200% using a
novel sidecore emulation approach---performing device emulation by
another core instead of the hypervisor. Second, we present a secure and
efficient method for selective delivery of interrupts to virtual
machines, improving performance by up to 60% for I/O intensive
workloads. Last, we introduce an efficient uncooperative swapping
extension that enhances the performance of virtual machines by up to an
order of magnitude when memory is overcommitted.