All of lore.kernel.org
 help / color / mirror / Atom feed
* Paravirtualisation or not?
@ 2009-05-04 14:40 howard chen
  2009-05-04 14:44 ` Pasi Kärkkäinen
  0 siblings, 1 reply; 9+ messages in thread
From: howard chen @ 2009-05-04 14:40 UTC (permalink / raw)
  To: kvm

Hey,

I am comparing Xen and KVM to see which one is suitable for me usage.


>From the FAQ: http://www.linux-kvm.org/page/FAQ#What_is_the_difference_between_kvm_and_Xen.3F

It said:

>> kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances.


Do does it mean using paravirtualization is good? So Xen is faster if
we can are running modified OS which support paravirtualization?


In fact, we have tried Xen, running CentOS 5.0 on latest Intel Quad
core CPU. Performance is not bad, but already have interest in try
other solutions.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-04 14:40 Paravirtualisation or not? howard chen
@ 2009-05-04 14:44 ` Pasi Kärkkäinen
  2009-05-04 14:49   ` howard chen
  0 siblings, 1 reply; 9+ messages in thread
From: Pasi Kärkkäinen @ 2009-05-04 14:44 UTC (permalink / raw)
  To: howard chen; +Cc: kvm

On Mon, May 04, 2009 at 10:40:00PM +0800, howard chen wrote:
> Hey,
> 
> I am comparing Xen and KVM to see which one is suitable for me usage.
> 
> 
> From the FAQ: http://www.linux-kvm.org/page/FAQ#What_is_the_difference_between_kvm_and_Xen.3F
> 
> It said:
> 
> >> kvm does not support paravirtualization for cpu but may support paravirtualization for device drivers to improve I/O performances.
> 
> 
> Do does it mean using paravirtualization is good? So Xen is faster if
> we can are running modified OS which support paravirtualization?
>

Yes, paravirtualization is good. If running KVM, use paravirtualized network
and disk/block drivers for better performance.
 
Xen paravirtual guests (domUs) use paravirtualized drivers out of the box.

> 
> In fact, we have tried Xen, running CentOS 5.0 on latest Intel Quad
> core CPU. Performance is not bad, but already have interest in try
> other solutions.
>

You should be running CentOS 5.3, it has a lot of updates after 5.0.

-- Pasi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-04 14:44 ` Pasi Kärkkäinen
@ 2009-05-04 14:49   ` howard chen
  2009-05-04 14:55     ` Glauber Costa
  2009-05-04 15:06     ` Javier Guerra
  0 siblings, 2 replies; 9+ messages in thread
From: howard chen @ 2009-05-04 14:49 UTC (permalink / raw)
  To: Pasi Kärkkäinen; +Cc: kvm

On Mon, May 4, 2009 at 10:44 PM, Pasi Kärkkäinen <pasik@iki.fi> wrote:
> On Mon, May 04, 2009 at 10:40:00PM +0800, howard chen wrote:
> Yes, paravirtualization is good. If running KVM, use paravirtualized network
> and disk/block drivers for better performance.

So does it mean generally Xen is more optimized than KVM for speed?

Thanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-04 14:49   ` howard chen
@ 2009-05-04 14:55     ` Glauber Costa
  2009-05-04 15:06     ` Javier Guerra
  1 sibling, 0 replies; 9+ messages in thread
From: Glauber Costa @ 2009-05-04 14:55 UTC (permalink / raw)
  To: howard chen; +Cc: Pasi Kärkkäinen, kvm

On Mon, May 4, 2009 at 11:49 AM, howard chen <howachen@gmail.com> wrote:
> On Mon, May 4, 2009 at 10:44 PM, Pasi Kärkkäinen <pasik@iki.fi> wrote:
>> On Mon, May 04, 2009 at 10:40:00PM +0800, howard chen wrote:
>> Yes, paravirtualization is good. If running KVM, use paravirtualized network
>> and disk/block drivers for better performance.
>
> So does it mean generally Xen is more optimized than KVM for speed?

No, no way.

Xen pv paravirtualizes everything. Most of those things are pv for the
need, not for any kind
of perfomance tweak. It runs on machines that does not provide
hardware virtualization, so
paravirtualization is your only option.

For solutions that uses hardware virtualization (such as KVM and Xen
HV), virtualization is done
by the hardware, with the help of the VMM. For things in which there
are a performance/correctness
impact of using PV, like the clock, we do it.

If you are using a paravirtual clock, and specialized block/net
drivers, you are already taking advantage
of most of the speed benefits a PV solution can provide you with.


-- 
Glauber  Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-04 14:49   ` howard chen
  2009-05-04 14:55     ` Glauber Costa
@ 2009-05-04 15:06     ` Javier Guerra
  2009-05-04 16:26       ` Pantelis Koukousoulas
  1 sibling, 1 reply; 9+ messages in thread
From: Javier Guerra @ 2009-05-04 15:06 UTC (permalink / raw)
  To: howard chen; +Cc: Pasi Kärkkäinen, kvm

On Mon, May 4, 2009 at 9:49 AM, howard chen <howachen@gmail.com> wrote:
> On Mon, May 4, 2009 at 10:44 PM, Pasi Kärkkäinen <pasik@iki.fi> wrote:
>> On Mon, May 04, 2009 at 10:40:00PM +0800, howard chen wrote:
>> Yes, paravirtualization is good. If running KVM, use paravirtualized network
>> and disk/block drivers for better performance.
>
> So does it mean generally Xen is more optimized than KVM for speed?


no

Xen started as paravirtualization-only, and later got full
virtualization capabilities, mainly to run windows guests.

KVM is full-virtualization-only.  if things stopped there, then yes,
Xen would be much faster than kvm.

but on almost all cases, biggest bottleneck (by far) isn't the CPU,
it's I/O. adding paravirtualization drivers to a fully virtualized
guest brings it roughly to the same speed level as a PV guest.  that
makes kvm comparable to Xen in most workloads.

there some real advantages of kvm:

- less context switches needed to make a block or packet go from guest
to hardware and viceversa

- paravirtualized drivers widely available both for Linux and Windows
(Xen's drivers on windows can be hard and/or expensive to get)

- tight work with the qemu/kernel guys make big advances in througput.
 i recall that virtio-net can go near 2Gbit with little tuning, almost
twice as the best Xen numbers.

of course, there are also several hard, real advantages of Xen:

- the hypervisor's scheduler is more appropriate for dataserver
managers that sell VMs

- wider recognition from supporting companies (changing quickly)

several more for each side that i don't remember right now, i'm sure

-- 
Javier

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-04 15:06     ` Javier Guerra
@ 2009-05-04 16:26       ` Pantelis Koukousoulas
  2009-05-05  8:37         ` Stefan Hajnoczi
  0 siblings, 1 reply; 9+ messages in thread
From: Pantelis Koukousoulas @ 2009-05-04 16:26 UTC (permalink / raw)
  To: Javier Guerra; +Cc: howard chen, Pasi Kärkkäinen, kvm

> - paravirtualized drivers widely available both for Linux and Windows
> (Xen's drivers on windows can be hard and/or expensive to get)

Well, Xen has GPL PV drivers for windows (at least for networking)
which KVM doesn't have. There is a promise
but no date attached to it.

If a set of drivers essentially implementing the virtio framework
(virtio_pci, virtio_ring, virtio queues) were available for
windows, that would be *really* neat.

But that is somewhat off topic :)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-04 16:26       ` Pantelis Koukousoulas
@ 2009-05-05  8:37         ` Stefan Hajnoczi
  2009-05-05  8:48           ` Pantelis Koukousoulas
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Hajnoczi @ 2009-05-05  8:37 UTC (permalink / raw)
  To: Pantelis Koukousoulas
  Cc: Javier Guerra, howard chen, Pasi Kärkkäinen, kvm

> If a set of drivers essentially implementing the virtio framework
> (virtio_pci, virtio_ring, virtio queues) were available for
> windows, that would be *really* neat.
I haven't tried them myself but I think this will give you virtio-net
for Windows:
http://sourceforge.net/project/showfiles.php?group_id=180599&package_id=267943

More information:
http://www.linux-kvm.com/content/tip-how-setup-windows-guest-paravirtual-network-drivers

Stefan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-05  8:37         ` Stefan Hajnoczi
@ 2009-05-05  8:48           ` Pantelis Koukousoulas
  2009-05-05 12:25             ` Javier Guerra
  0 siblings, 1 reply; 9+ messages in thread
From: Pantelis Koukousoulas @ 2009-05-05  8:48 UTC (permalink / raw)
  To: Stefan Hajnoczi
  Cc: Javier Guerra, howard chen, Pasi Kärkkäinen, kvm

On Tue, May 5, 2009 at 11:37 AM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>> If a set of drivers essentially implementing the virtio framework
>> (virtio_pci, virtio_ring, virtio queues) were available for
>> windows, that would be *really* neat.
> I haven't tried them myself but I think this will give you virtio-net
> for Windows:
> http://sourceforge.net/project/showfiles.php?group_id=180599&package_id=267943
>
> More information:
> http://www.linux-kvm.com/content/tip-how-setup-windows-guest-paravirtual-network-drivers

Hi Stefan :)

Sure, closed-source virtio-net drivers exist (in fact there is a newer
version than the one
you linked. I think it is 12/2008 distributed as an iso). The point
(and the advantage
of Xen in this area) is that Xen provides the source too under GPL.

Even if there was source available for the virtio framework only (and
not net at all)
it would still be useful to others wanting to write virtio drivers for windows.

It is harder for a third party to do this job because you would have to make the
decision to either use the Windows DDK and samples (which means you can't
release under GPL and thus you can't reuse or even look at the current virtio
implementations) or use GPL and the current linux virtio code as a base but
in this case you can forget DDK and the samples (at least that is my
understanding).

Cheers,
Pantelis

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Paravirtualisation or not?
  2009-05-05  8:48           ` Pantelis Koukousoulas
@ 2009-05-05 12:25             ` Javier Guerra
  0 siblings, 0 replies; 9+ messages in thread
From: Javier Guerra @ 2009-05-05 12:25 UTC (permalink / raw)
  To: Pantelis Koukousoulas
  Cc: Stefan Hajnoczi, howard chen, Pasi Kärkkäinen, kvm

Pantelis Koukousoulas wrote:
> On Tue, May 5, 2009 at 11:37 AM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> Sure, closed-source virtio-net drivers exist (in fact there is a newer
> version than the one
> you linked. I think it is 12/2008 distributed as an iso). The point
> (and the advantage
> of Xen in this area) is that Xen provides the source too under GPL.

XenSource drivers are not only closed source, but tied to their distribution of Xen.  OpenSource Xen doesn't have any windows drivers.

you must be talking about the GPLPV drivers, which is the work of an independent third party: James Harper.  I haven't tried them,  their performance is quite good but far from trouble-free.

> It is harder for a third party to do this job because you would have to make the
> decision to either use the Windows DDK and samples (which means you can't
> release under GPL and thus you can't reuse or even look at the current virtio
> implementations) or use GPL and the current linux virtio code as a base but
> in this case you can forget DDK and the samples (at least that is my
> understanding).

that's what had to happen (very recently) for Xen, since neither XenSource nor Novell (which also has a set of closed source, distro-tied drivers) wanted to open theirs.

-- 
Javier

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-05-05 12:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-04 14:40 Paravirtualisation or not? howard chen
2009-05-04 14:44 ` Pasi Kärkkäinen
2009-05-04 14:49   ` howard chen
2009-05-04 14:55     ` Glauber Costa
2009-05-04 15:06     ` Javier Guerra
2009-05-04 16:26       ` Pantelis Koukousoulas
2009-05-05  8:37         ` Stefan Hajnoczi
2009-05-05  8:48           ` Pantelis Koukousoulas
2009-05-05 12:25             ` Javier Guerra

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.