Pre-virtualization: Soft layering for virtual machines
Authors
University of Karlsruhe
IBM Watson
NICTA
UNSW
Abstract
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.
BibTeX Entry
@inproceedings{LeVasseur_UYCCLH_08, address = {Hsinchu, Taiwan}, author = {LeVasseur, Joshua and Uhlig, Volkmar and Yang, Yaowei and Chapman, Matthew and Chubb, Peter and Leslie, Ben and Heiser, Gernot}, booktitle = {Asia-Pacific Computer Systems Architecture Conference}, editor = {{Yeh-Ching Chung, John Morris}}, month = aug, pages = {1--9}, paperurl = {https://trustworthy.systems/publications/nicta_full_text/1064.pdf}, publisher = {Springer}, title = {Pre-virtualization: soft layering for virtual machines}, year = {2008} }