School of Computer Science and Engineering
University of New South Wales
Sydney 2052 Australia
National ICT Australia, Sydney,
Australia
Universität Karlsruhe, Germany
Despite its current popularity, para-virtualization has an enormous cost. Its deviation from the platform architecture abandons many of the benefits of traditional virtualization: stable and well-defined platform interfaces, hypervisor neutrality, operating system neutrality, and upgrade neutrality—in sum, modularity. Additionally, para-virtualization has a significant engineering cost. These limitations are accepted as inevitable for significantly better performance, and for the ability to provide virtualization-like behavior on non-virtualizable hardware such as x86.
Virtualization and its modularity solve many systems problems, and when combined with the performance of para-virtualization become even more compelling. We show how to achieve both together. We still modify the guest operating system, but according to a set of design principles that avoids lock-in, which we call soft layering. Additionally, our approach is highly automated and thus reduces the implementation and maintenance burden of para-virtualization, which is especially useful for enabling obsoleted operating systems. We demonstrate soft layering on x86 and Itanium: we can load a single Linux binary on a variety of hypervisors (and thus substitute virtual machine environments and their enhancements), while achieving essentially the same performance as para-virtualization with less effort.
@inproceedings{LeVasseur_UYCCLH_08,
publisher = {IEEE Computer Society Press},
author = {Joshua LeVasseur and Volkmar Uhlig and Yaowei Yang and Matthew Chapman and Peter Chubb and Ben
Leslie and Gernot Heiser},
title = {Pre-virtualization: soft layering for virtual machines},
booktitle = {Proceedings of the 13th IEEE Asia-Pacific Computer Systems Architecture Conference},
address = {Hsinchu, Taiwan},
year = {2008},
month = {Aug},
editor = {Y-C Chung and J Morris},
pages = {1--9}
}