This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-users] Virtualization Technique

To: "MaTT" <mrbarletta@xxxxxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-users] Virtualization Technique
From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
Date: Fri, 1 Sep 2006 11:56:43 +0200
Delivery-date: Fri, 01 Sep 2006 02:57:50 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <44F7FFEB.9020601@xxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcbNqe1vEc7Kmfb9RGiGUlGbf7dLGgAABPoQ
Thread-topic: [Xen-users] Virtualization Technique
> -----Original Message-----
> From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of MaTT
> Sent: 01 September 2006 10:40
> To: xen-users@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-users] Virtualization Technique
> Hi all!..
> Half of the company has Vmware (about 50 physical servers) 
> and the other 
> half is considering going to Xen, but we are confuse about 
> the concepts 
> of the two solutions.
> What is the main difference in the virtualization technique 
> of Xen using 
> VT enabled hardware and VMWare with and w/o VT?
> If Xen+VT is full virtualization, what are the differences 
> between the 
> full virtualization of vmware??

Vmware uses something called "Binary translation" to support the same
ideas as the hardware virtualization technologies. This means that
priviliged code is scanned for special instructions, and the special
instructions are replaced with a "trap" (intercept) code to get into the
VMM (Hypervisor).

Hardware virtuailization technologies doesn't need this, as there is
functionality in the processor to figure out when any special
instruction needs to be "trapped" (intercepted). 

Both solutions are using similar technology to emulate hardware
(intercept the write operations either directly through IO-mapping
intercept setup or through memory mapped page-table access
restrictions), and then pretend to perform the instruction through
software that changes the state of the emulated hardware based on the
operation intercepted. 

There isn't MUCH difference between these two technologies, except it's
MUCH easier to write the code to handle the HW virtualization - but
there's still plenty of difficult-to-write code to handle the memory
mapping (OS's in general expect that memory starts around address zero
and grows up, but in a virtual machine, there may will be more than a
single OS's running on the same machine, so the memory start address has
to be "faked" to make it look like it's at zero for the OS, but actually
be located elsewhere from the machines standpoint). 

And IO devices need to be emulated in some way or another (at least for
any device that is shared between multiple guests). 

I'm not sure if this is reducing your confusion... But essentially what
I'm sayins is that there's not a WHOLE LOT of difference... Performance
may vary a little bit, with extremely bad cases existing for both

One additional point: Xen is also supporting para-virtualization for
Linux, which is a much better approach in many ways - it allows
optimization of the work within the hypervisor on the guests behalf -
say for instance a guest is performing 1000 writes to the page-table to
map a 4MB block of memory. Since the hardware virtualization technology
doesn't actually know what is happening, it has to intercept each of
these writes individually, causing 1000 intercepts. The
para-virtualization technology will modify the source-code to call the
hypervisor for the write to page-tables, and it can easily add an extra
parameter to indicate that multiple writes are needed, so it reduces the
number of transitions between the hypervisor and the OS. Unfortunately,
the para-virtualization technology also requires that the source-code is
available to make changes to the source code and recompile it. That's
why it's not available for Windows and other OS's that aren't "open

> Thanks a lot!.
> Cheers
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-users

Xen-users mailing list

<Prev in Thread] Current Thread [Next in Thread>