Pre-virtualization: Soft layering for virtual machines

Authors

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

    School of Computer Science and Engineering
    University of New South Wales
    Sydney 2052 Australia
    
    NICTA, Sydney, Australia

    Open Kernel Labs, Sydney, Australia

    Universitat Karlsruhe, Germany

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,
    publisher        = {Comp. Soc. 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        = {13th IEEE Asia-Pacific Comp. Syst. Arch. Conf},
    address          = {Hsinchu, Taiwan},
    year             = {2008},
    month            = {Aug},
    editor           = {Y-C Chung and J Morris},
    pages            = {1--9}
  }

Download

Served by Apache on Linux on seL4