November 10, Wednesday 14:15, Room 303, Jacobs Building

The Turtles Project: Design and Implementation of Nested Virtualization

Lecturer : Muli Ben-Yehuda

Lecturer homepage :

Affiliation : IBM Research Haifa


In classical machine virtualization, a hypervisor runs multiple
operating systems simultaneously, each on its own virtual
machine. In nested virtualization, a hypervisor can run multiple
other hypervisors with their associated virtual machines. As
operating systems gain hypervisor functionality---Microsoft Windows
7 already runs Windows XP in a virtual machine---nested
virtualization will become necessary in hypervisors that wish to
host them.
We present the design, implementation, analysis, and evaluation of
high-performance nested virtualization on Intel x86-based
systems. The Turtles project, which is part of the Linux/KVM
hypervisor, runs multiple unmodified hypervisors (e.g., KVM and
VMware) and operating systems (e.g., Linux and Windows). Despite the
lack of architectural support for nested virtualization in the x86
architecture, it can achieve performance that is within 6-8% of
single-level (non-nested) virtualization for common workloads,
through multi-dimensional paging for MMU virtualization and
multi-level device assignment for I/O virtualization.
Joint work with M. D. Day, Z. Dubitzky, M. Factor, N. Har'El,
A. Gordon, A. Liguori, O. Wasserman, and B.-A. Yassour.