native libaio
Volker Lendecke
Volker.Lendecke at SerNet.DE
Sun Jun 13 15:41:49 MDT 2010
On Sun, Jun 13, 2010 at 05:37:24PM +0200, Volker Lendecke wrote:
> In my wip branch on gitweb.samba.org I've got code to call
> libaio (using native linux aio) for read&x. I've got some
> numbers for reading 1GB (out of cache) with smbclient on TCP
> loopback on a 4-core system. User/sys times are smbd -d 0 -i
> times.
>
> sync I/O:
> user 0m0.072s
> sys 0m0.716s
> 817284,4 MByte/s
>
> libaio async I/O:
> user 0m0.124s
> sys 0m0.796s
> 742617,5 MByte/s
>
> posix AIO:
> user 0m0.300s
> sys 0m1.600s
> 461724,3 MByte/s
>
> This means the native linux aio is in fact a hell lot faster
> than the glibc implementation :-)
Crap. Bjoern just pointed out that all this might be a pure
fallacy. In http://axboe.livejournal.com/1718.html you can
read that libaio is only asynch if we use DIRECTIO. That
sucks. Severely. I've done some benchmarking with the pure
clone-based implementation in libaio, and to me it seems
that the context switches between the main and the worker
threads really kill the performance. Well, what can you do.
Volker
More information about the samba-technical
mailing list