Seminars at the Faculty of Informatics

Informatics seminar on Thursday, January 22nd at 16.30 - Prof. Willy Zwaenepoel

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)

 

TIME: 16.30

 

ABSTRACT:

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

URL 1: http://www.inf.unisi.ch