Pre-Virtualization: Slashing the Cost of Virtualization

  • Autor:

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

  • Quelle:

    Fakultät für Informatik, Universität Karlsruhe (TH), Technical Report 2005-30, November 2005

  • Datum: 11.2005
  • Abstract:

    Despite its current popularity, para-virtualization has an enormous cost. Its diversion from the platform architecture abandons many of the benefits that come with pure virtualization (the faithful emulation of the platform API): stable and well-defined platform interfaces, single binaries for kernel and device drivers (and thus lower testing, maintenance, and support cost), and vendor independence. These limitations are accepted as inevitable for significantly better performance and the ability to provide virtualization-like behavior on non-virtualizable hardware, such as x86.

    We argue that the above limitations are not inevitable, and present pre-virtualization, which preserves the bene- fits of full virtualization without sacrificing the performance benefits of para-virtualization. In a semi-automatic step an OS is prepared for virtualization. The required modifications are orders of magnitudes smaller than for paravirtualization. A virtualization module, that is collocated with the guest OS, transforms the standard platform API into the respective hypervisor API. The guest OS is still programmed against a common architecture, and the binary remains fully functional on bare hardware. The support of a new hypervisor or updated interface only requires the implementation of a single interface mapping. We validated our approach for a variety of hypervisors, on two very different hardware platforms (x86 and Itanium), with multiple generations of Linux as guests. We found that previrtualization achieves essentially the same performance as para-virtualization, at a fraction of the engineering cost.


         author = {Joshua LeVasseur and Volkmar Uhlig and Matthew Chapman and Peter Chubb and Ben Leslie and Gernot Heiser},
         title = {Pre-Virtualization: Slashing the Cost of Virtualization},
         institution = {Fakult\"at f\"ur Informatik, Universit\"at Karlsruhe (TH)},
         year = 2005,
         number = {2005-30},
         month = Nov,
         type = {Technical Report}