Informatics seminar on Thursday, January 22nd at 16.30 - Prof. Willy Zwaenepoel
Staff - Faculty of Informatics
Start date: 22 January 2009
End date: 23 January 2009
The Faculty of Informatics is pleased to announce a seminar given by Prof. Willy Zwaenepoel
TITLE: TwinDrivers: Semi-Automatic Derivation of Fast and Safe Hypervisor Network Drivers from Guest OS Drivers
SPEAKER: Prof. Willy Zwaenepoel, School of Computer and Communication Sciences, EPFL
DATE: Thursday, January 22nd, 2008
PLACE: USI Università della Svizzera italiana, room SI-006, Informatics building (Via G. Buffi 13)
In a virtualized environment, device drivers are often run inside a virtual machine (VM) rather than in the hypervisor, for reasons of safety and reduction in software engineering effort. Unfortunately, this approach results in poor performance for I/O-intensive devices such as network cards. The alternative approach of running device drivers directly in the hypervisor yields better performance, but results in the loss of safety guarantees for the hypervisor and incurs additional software engineering costs.
In this paper we present TwinDrivers, a framework which allows us to semi-automatically create safe and efficient hypervisor drivers from guest OS drivers. The hypervisor driver runs directly in the hypervisor, but its data resides completely in the driver VM address space. A Software Virtual Memory mechanism allows the driver to access its VM data efficiently from the hypervisor running in any guest context, and also protects the hypervisor from invalid memory accesses from the driver. An upcall mechanism allows the hypervisor to largely reuse the driver support infrastructure present in the VM. The TwinDriver system thus combines most of the performance benefits of hypervisor-based driver approaches with the safety and software engineering
benefits of VM-based driver approaches.
Using the TwinDrivers hypervisor driver, we are able to improve the guest domain networking throughput in Xen by a factor of 2.4 for transmit workloads, and 2.1 for receive workloads, both in CPU-scaled units, and achieve close to 64-67% of native Linux throughput.
This is joint work with Aravind Menon and Simon Schubert of EPFL.
HOST: Prof. Mehdi Jazayeri