> > Unfortunately, NBD add considerable overheads. I guess the socket
> communications copies data.
> > This is really unnecessary if I can write directly to the output stream.
> 
> The disk is the bottleneck, not memory bandwidth.  Hard disks only do
> 10-100 MB/sec and SSDs only do a couple 100 MB/sec.  Memory copy is
> insignificant compared to the I/O activity required to copy out the entire 
> disk
> image, not to mention delaying guest writes until we read the original data 
> from
> the disk.
> 
> Unless there's a concrete performance problem here this is premature
> optimization.

I currently test with about 700MB read speed, and get a slow down by factor 1.7.
So memory copy is very significant , or there is something wrong with nbd.c.

RAID with normal HDs can easily give you 500MB/s, and RAID with multiple SSDs 
can
give you more than 1000MB/s read speed.

There are some high performance ipc libraries, for example the one from 
corosync:

http://kernel.org/doc/ols/2009/ols2009-pages-61-68.pdf

Such libraries tries to avoid copying data.





Reply via email to