[Lustre-devel] Oleg/Mike Work on Apps Metrics - FW: Mike Booth week ending 2009.03.15

Andreas Dilger adilger at sun.com
Tue Apr 7 00:54:03 PDT 2009

On Apr 06, 2009  18:12 -0400, di wang wrote:
> I am not sure the current IO is "async" enough, since it still includes  
> some sync "process", for example, locks, read for partial page, some
> other stack overhead in commit_write, sometimes you can not ignore
> these overhead. For example, even without hit the dirty max limit, you  
> might get quite different write time for writing same data. I guess
> some of the reason might be the VM is just "out of control".
> With AIO,
> 1) The application  can  skip  these "sync" process?  For example by  
> creating an daemon to do the those routine  process.
> 2) We can control the write_page(sent to OST) ourselves, instead of rely  
> on VM.
> 3) These aio pages do not need comply the dirty max limit in the  
> submit_io(AIO) process, So user application do "real" memory for writing.
> Yes, AIO will be indeed complex for the application, but not that much,  

There was just a discussion about Linux AIO today (from former Linux AIO
maintainer, as it is currently unmaintained) and his statements were that
AIO is not really async at all, as it will block for local filesystems
on any file allocation, or any buffered IO.  Only preallocated files and
O_DIRECT even have a chance at AIO, and even that will not always work.

Cheers, Andreas
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

More information about the lustre-devel mailing list