From: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
To: Luca <kronos.it-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Fernando Cassia <fcassia-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: Intel-only or AMD Opteron as well?
Date: Sat, 08 Sep 2007 13:43:17 -0500 [thread overview]
Message-ID: <1189276997.25820.8.camel@squirrel> (raw)
In-Reply-To: <68676e00709081001l3550b2d2xe74d70381a5e3f2a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Sat, 2007-09-08 at 19:01 +0200, Luca wrote:
> On 9/8/07, Fernando Cassia <fcassia-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > Point #3: Xen vs KVM... I'm confused
> >
> > The above move by RedHat is a bit confusing... what can Xen do that KVM
> > cannot?. In other words, why should anyone even bother with Xen with KVM
> > around ??.
>
> Xen is probably more mature, and has more more management tools. Plus
> it's already known and deployed in the enterprise world. On the
> downside Xen is big, while KVM is simpler.
Keep in mind, the referenced article is very old (it's from February).
> > I've read Xen is "more robust" because it has a "one year lead"
> > over KVM. But really, how does this translate, if performance of Xen could
> > be worse due to more paravirtualization?.
>
> Paravirtualization is not a bad thing ;-) If you cannot modify the
> guest then of course a fully virtualized VM is needed, but if you can
> modify it (by e.g. loading a special driver) then PV is likely to give
> some speed enhancements.
> The first obvious area for PV is device drivers: emulating a network
> card (or a disk controller, or...) wastes a lot of cycles, it makes
> lots of sense to use a special driver virtualization-aware driver that
> speeds up the communication between the guest and the host. VirtIO for
> example is all about flipping pages between guest and host.
> Another class of operations the can be PVirtualized are privileged
> instructions that may affect the global state of the machine. E.g. you
> don't want the guest to be able to _really_ turn interrupts off;
> instead you trap the 'cli' and stop sending interrupts to it. If the
> guest is aware of the virtualization it can politely ask the guest to
> stop interrupt delivery (instead of going through trap+emulate).
One thing to keep in mind is that in this example, hardware
virtualization eliminates the need to trap and emulate cli/sti.
In general, there are two classes of paravirtualizations. The first are
related to functionality on non-virtualization aware hardware (32-bit
startup, cooperative descriptor table management, memory hole, etc.).
The second class would be optimizations which includes things like page
table update batching, paravirtual device drivers, etc.
KVM is beginning to get the second class of optimizations. Once they
are in place and mature, my expectation is that it will outperform
things like Xen. Hardware virtualization is probably a lot faster than
something that relies on only the first class of paravirtualizations.
> > Finally... after reading about Xen and KVM(this KVM, not Sun's ;), I
> > wonder... the FAQ says Xen does more paravirtualization, whereas KVM uses
> > the CPU's own virtualization features. Yet I visit some articles like this
> > one
> >
> > http://aplawrence.com/Linux/kvm_virtualization.html
> >
> > which claims that Xen is "THE FASTEST" approach to virtualization. How can
> > it be faster since it uses paravirtualization (software) instead of direct
> > hardware virtualization features as KVM?
>
> See above. Doing software _emulation_ of the guest is slow. A PV guest
> can coordinate very efficiently with the host.
Well, it's not really that simple. There are some things Xen is very
slow at (especially with 64-bit guests).
The best thing to do when trying to decide which virtualization solution
to use is to evaluate all options for the workloads you're interested
in.
Regards,
Anthony Liguori
> Luca
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> kvm-devel mailing list
> kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/kvm-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2007-09-08 18:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-08 13:03 Intel-only or AMD Opteron as well? Fernando Cassia
[not found] ` <52733fad0709080603y33b6b08dka55c9a4f9812aca7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-09-08 4:23 ` Izik Eidus
[not found] ` <46E223C8.4000308-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-08 14:59 ` Fernando Cassia
2007-09-08 19:59 ` Matej Cepl
[not found] ` <52733fad0709080759md4de7d6p12f4c748f2495881-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-09-08 17:01 ` Luca
[not found] ` <68676e00709081001l3550b2d2xe74d70381a5e3f2a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-09-08 18:43 ` Anthony Liguori [this message]
2007-09-09 7:48 ` Avi Kivity
[not found] ` <46E3A54D.5060404-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-09 9:24 ` Farkas Levente
[not found] ` <1539.82.77.99.237.1189329890.squirrel-Dt882nC6kngb7DgKQta39w@public.gmane.org>
2007-09-08 23:20 ` Izik Eidus
2007-09-09 9:29 ` Fernando Cassia
2007-09-09 10:30 ` Farkas Levente
2007-09-08 13:46 ` Luca
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1189276997.25820.8.camel@squirrel \
--to=anthony-rdkfgonbjusknkdkm+me6a@public.gmane.org \
--cc=fcassia-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=kronos.it-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox