LWN.net Logo

One happy user

One happy user

Posted Jul 23, 2004 23:25 UTC (Fri) by giraffedata (subscriber, #1954)
In reply to: One happy user by avik
Parent article: Kernel Summit: Asynchronous I/O

What I'd like to hear is how it's better than buffered I/O and/or multiple threads doing synchronous I/O. That's what it's competing with.


(Log in to post comments)

One happy user

Posted Jul 24, 2004 7:10 UTC (Sat) by avik (guest, #704) [Link]

Buffered I/O is out of the question. It involves copying which reduces throughput. Synchronous reads, buffered or not, will block, throwing parallelism out the window. We do our own caching (distributed filesystem), so the kernel cache is very small and ineffective; it only adds overhead,

Our previous solution was nonblocking network I/O, plus slave threads doing synchronous direct disk I/O. This had two problems:

- less efficient due to context switches and scheduling latencies
- no way to do copyless network I/O.

The last point is only partially addressed by aio, but it's better than nothing.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds