On Thu, Oct 26, 2006 at 03:44:37PM +0200, bert hubert ([EMAIL PROTECTED]) wrote:
> On Thu, Oct 26, 2006 at 02:51:51PM +0400, Evgeniy Polyakov wrote:
> 
> > Benchmark uses 128 bytes sending/receiving per syscall (no latency
> > checks, only throughput.
> > Receiving CPU usage is 3 times less (90% socket code vs. 30%
> > Sending CPU usage is 5 times less (upto 50% vs. upto 10%).
> 
> Wow. I currently lack the hardware to reproduce your measurements, do you
> have any idea of how these numbers would be with 1024 byte "system calls"?

Results are not that exciting in this case.
Receiving CPU usage is about the same: it steady grows upto about 30-35%
(netchannel stops growing after some time with about 28%, socket slowly
continues), but netchannel's speed is smaller.
It can be described by that fact, that unetstack uses C-coded
checksumming (the dumbies algo I think) and additional memory copy, 
which becomes visible in case of big buffers (it can be eliminated though, 
I will think about better interface).
The same applies to sending - CPU usage is smaller, but speed is smaller
too. (10% vs. 8% compared to 30 MB/sec vs. 24 MB/sec).

So netchannels with userspace stack behave exactly the same in both 128
and 1024 byte write/read cases.

But all it is just a drawnbacks of userspace stack, not netchannels,
which do not have any protocol processing at all - it is just a queue
between low-level driver and users - some kind of high performance scalable 
packet socket with only selected addresses or tun/tap device.

> Thanks.
> 
> -- 
> http://www.PowerDNS.com      Open source, database driven DNS Software 
> http://netherlabs.nl              Open and Closed source services

-- 
        Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to