Wednesday, September 16, 2009

Xen and the Beauty of Virtualization (BA ch 7)

Let's face it ... Virtualization is just plain cool. The problem though is that when virtualization began to gain renewed popularity about five to ten years back, the x86 hardware was not "virtualization friendly". Many protected mode instructions had to be trapped in protected mode and emulated. This was costly. Device I/O and DMA was also difficult. Xen worked around these issues by using paravirtualization which required replacement of all instructions in the guest operating system that were difficult to virtualize with a system call to the host hypervisor. The adavantage of this approach was that performance was good and the added costs of emulation was avoided. The downside was that the guest operating system required modifications. This type of virtualization was rarely supported by commercial OSes.

Now let's fast forward a few years. Virtualization is gaining increased popularity and hardware vendors are beginning to react. Both AMD and Intel introduce hardware support such as an IOMMU within their processors to ease the virtualization overhead previously experienced. With this shift, the performance gains of paravirtualization also began to diminish. This leads to a fairly radical design shift in Xen 3.0 in which support for hardware virtualization is also added.

I think there is still a lot to come in regards to the future of virtualization. Hopefully Xen will be there and continue to provide an open source alternative to the commercial products.

No comments:

Post a Comment