VMware

Virtually There: Steve Herrod's Blog

Thu, 18 May 2006

Pencils, err, Keyboards Down!

Just wanted to remind everyone that time is running out on the Ultimate Virtual Appliance Challenge. May 26th is the last day for submission and it'll be here before you know it. There are some great submissions so far, but plenty of opportunity for your virtual appliance to take one of the prizes. Drop us a line if you need any help and hope to see you in the challenge!


posted at: 18:12 | | | permanent link

Thu, 04 May 2006

Transparent Paravirtualization and the Proposed Virtual Machine Interface (VMI)

VMware Hypervisor

Today's x86 virtualization products have typically focused on faithfully emulating virtual hardware devices so that completely unmodified "guest" operating systems can install and run without any knowledge that they are in a virtual machine. Paravirtualization is a slightly different approach to running virtual machines that is getting attention as of late (such as these news.com, linuxvirtualization.com, and theregister.com articles).

In paravirtualization, a guest operating system is aware that it is running inside of a virtual machine. Based on this awareness, the paravirtualized guest operating system executes different code paths that typically make the job of virtualization easier and more efficient. I'd like to use this entry to share some thoughts on paravirtualization and to provide some details about our proposed approach.

We first discussed a proposed Virtual Machine Interface (VMI) at the Ottawa Linux Symposium in 2005, and the three main principles have remained the same:

  • High performance: The whole point of paravirtualization is to make virtualization as efficient as possible, and VMI is designed with this as an absolute requirement.
  • Transparent paravirtualization: We believe it's important that the same kernel binary can run on a physical machine and in a virtual machine. We feel that this is important for kernel maintainability, simplified Linux distributions, and reduced testing costs for ISVs, customers, and partners.
  • Hypervisor-independence: We believe that customers and partners will benefit from the ability to use the same paravirtualized kernel with different hypervisors. This is good for Linux and for customers because it allows innovation to continue rapidly both in the Linux kernel and in the hypervisors themselves.

We have been working on an implementation of VMI for more than a year now and we recently posted a list of illustrative patches to the Linux Kernel Mailing List (lkml). They seem to have generated some good discussions and we're actively incorporating the feedback. This set of patches is designed as a proof-of-concept that it is possible to implement such an interface for Linux that achieves all of the above properties. We'd like to use this as a starting point for open collaboration with the Linux kernel developers as well as with Xen and other hypervisor-focused initiatives.

On this topic, VMI works in the VMware labs and with Xen. On the Xen front, a researcher working on Universität Karlsruhe's L4Ka project has implemented VMI ROMs for Xen. As a proof-of-concept, we've also been working on a ROM that demonstrates that a VMI Linux kernel can accomplish the above goals while working with Xen.

The proposed VMI is by no means complete. While there are performance gains to be had with the existing set of interfaces, we continue to work on interfaces to better enable paravirtualization of 64-bit architectures and the very rich space of optimized I/O devices. We would like to collaborate with others on these and other extensions to VMI.

If you're interested in finding out far more information, you can see the current VMI spec at: http://www.vmware.com/interfaces/vmi_specs.html.

We'll also present more information on VMI at the upcoming 2006 Linux Symposium.

I hope you have found this useful.

posted at: 11:35 | | | permanent link

Steve Herrod,
Vice President of Technology Development,
VMware, Inc.

Archives

Disclaimer

The postings on this site are the individual poster's and do not represent VMware's positions, strategies or opinions.