Subject: Re: [GIT PULL] AlacrityVM guest drivers for 2.6.33

From: Anthony Liguori <[email-masked]>
Date: Tue, 22 Dec 2009 15:14:18 -0600

On 12/22/2009 11:33 AM, Andi Kleen wrote:
>> We're not talking about vaporware.  vhost-net exists.
>>      
> Is it as fast as the alacrityvm setup then e.g. for network traffic?
>
> Last I heard the first could do wirespeed 10Gbit/s on standard hardware.
>    

I'm very wary of any such claims.  As far as I know, no one has done an 
exhaustive study of vbus and published the results.  This is why it's so 
important to understand why the results are what they are when we see 
numbers posted.

For instance, check out 
http://www.redhat.com/f/pdf/summit/cwright_11_open_source_virt.pdf slide 32.

These benchmarks show KVM without vhost-net pretty closely pacing 
native.  With large message sizes, it's awfully close to line rate.

Comparatively speaking, consider 
http://developer.novell.com/wiki/index.php/AlacrityVM/Results

vbus here is pretty far off of native and virtio-net is ridiculus.

Why are the results so different?  Because benchmarking is fickle and 
networking performance is complicated.  No one benchmarking scenario is 
going to give you a very good picture overall.  It's also relatively 
easy to stack the cards in favor of one approach verses another.  The 
virtio-net setup probably made extensive use of pinning and other tricks 
to make things faster than a normal user would see them.  It ends up 
creating a perfect combination of batching which is pretty much just 
cooking the mitigation schemes to do extremely well for one benchmark.

This is why it's so important to look at vbus from the perspective of 
critically asking, what precisely makes it better than virtio.  A couple 
benchmarks on a single piece of hardware does not constitute an 
existence proof that it's better overall.

There are a ton of differences between virtio and vbus because vbus was 
written in a vacuum wrt virtio.  I'm not saying we are totally committed 
to virtio no matter what, but it should take a whole lot more than a 
couple netperf runs on a single piece of hardware for a single kind of 
driver to justify replacing it.

> Can vhost-net do the same thing?

I think the fundamentally question is, what makes vbus better than 
vhost-net?  vhost-net exists and is further along upstream than vbus is 
at the moment.  If that question cannot be answered with technical facts 
and numbers to back them up, then we're just arguing for the sake of 
arguing.

Regards,

Anthony Liguori

> -Andi