Final year graduate student at Department of Computer Science.

Live Migration of Direct-Access Devices

Shadow driver migration enables live migration of guest operating systems that are directly attached to physical devices(usually for performance reasons). Shadow driver migration can work across device classes and can perform migration from one device to a totally different device of the same type. It can also be used to perform migration without virtualization for the device migration case.

Problem Abstract

Virtual machine migration greatly aids management by allowing flexible provisioning of resources and decommissioning of hardware for maintenance. However, efforts to improve network performance by granting virtual machines direct access to hardware currently prevent migration. This occurs because (1) the VMM cannot migrate the state of the device, and (2) the source and destination machines may have different network devices, requiring different drivers to run in the migrated virtual machine. In this project, we describe a lightweight software mechanism for migrating virtual machines with direct hardware access. We base our solution on shadow drivers, which efficiently capture and reset the state of a device driver. On the source hardware, the shadow driver continuously monitors the state of the driver and device. After migration, the shadow driver uses this information to configure a driver for the corresponding device on the destination. We implement our solution for Linux network drivers running on the Xen hypervisor. We show that the performance overhead, compared to direct hardware access, is negligible and is much better than using a virtual NIC.

Project Summary

This project aimed at providing migration support for direct-access devices which was currently not possible. Existing solutions require one to either detach the device pre-migration or transfer I/O to a virtual device. We designed and implemented shadow driver migration that successfully acheived live migration for directly attached network devices and is extensible to any class of devices.

Related Publications