VMware renders multitasking OSes redundant
Lionel Cavalliere, VMware's senior product manager in EMEA, says that ESX exerts a shrinking effect on operating systems. The thinking goes like this: An operating system arbitrates access to physical resources between multiple applications and has lots and lots of driver code in its disk image.
Typically, a virtualized server runs virtual machines (VMs) with a one app/one guest OS combination, and VMware - being interested in the total cost of ownership per virtual machine - would like to reduce the footprint of each VM so as to cram more in to each physical server.
Already, Cavalliere says, VMware's ESX hypervisor can detect memory pages that are duplicated by multiple instances of guest OSs. For example, if there are several Windows XP/application VMs running then ESX won't load each XP instance's full set of memory pages as some single pages can be shared between the multiple XP instances.
What would be good would be for the multi-tasking part of each guest OS to be simply discarded. It's not needed and, as VMware says, a paravirtualized guest OS (one that knows it's running under a hypervisor) could ignore it. The guest OS running under a hypervisor could be stripped down to a kernel, letting the hypervisor handle things like multi-tasking and talking through drivers to physical resources.
He says that Microsoft's HyperV and the Linux XENserver each have what he calls management partitions - specialised VMs that talk to hardware. A guest OS issues a hardware call, and it goes up to the hypervisor, which sends it to the management partition. ESX does this stuff itself - directly - and is therefore more efficient.
Cavalliere also plays the stability card, saying that some 80 per cent of server failures are due to driver code failures in Windows and that VMware is now, according to one survey, as reliable as a mainframe. Ditch the guest Windows OS drivers and use VMware's ones for increased server reliability.
But apart from this, a hypervisor providing multi-tasking and physical resource access does not need these functions to be replicated in the guest OSs, wasting physical server resources and real estate.
He says VMware is pushing the idea of a VMI (virtual machine interface) for paravirtualized guest OSs - one that allows them to be stripped down. But Microsoft is not taking part. No, really!
In the VMware world a guest OS is merely an abstraction layer, a wrapper, sitting between an application and ESX. Let's take it further. Why do you need a separate wrapper at all? Couldn't it be folded into the app? Couldn't it be folded into VMware and the app write directly to VMware? Could we imagine a server world in which apps ran directly under ESX and there was no guest OS at all - or is this my fevered imagination running riot? ®