Trustworthy Systems

Pre-virtualization: Soft layering for virtual machines


Joshua LeVasseur, Volkmar Uhlig, Yaowei Yang, Matthew Chapman, Peter Chubb, Ben Leslie and Gernot Heiser

University of Karlsruhe

IBM Watson



Best Paper Award


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

    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         = {},
    publisher        = {Springer},
    title            = {Pre-virtualization: soft layering for virtual machines},
    year             = {2008}