On Jun 06, 2006 21:56 -0400, Hank Jakiela wrote:> Does Lustre support asynchronous I/O calls such as aio_read()?
Not currently. While Lustre does perform async reads in order to do
readahead, this functionality isn''t exported via the AIO interface yet.
> I have an application that does small random reads from a very large
> file. Each read incurs a disk access latency. I''d like to hide
the
> latency as much as possible by queuing up a number of reads so that the
> seeks can be overlapped. The file system has 12 OSTs and over 100 disks,
> so there is opportunity for parallelism.
>
> When I run my test program against an NFS mount (without Lustre) there is
> an obvious increase in I/O rate as the number of outstanding reads
> increases, but with Lustre I don''t see any difference.
It''s as if each
> async read is actually being handled synchronously. Am I missing
something?
No. The plumbing to do async reads exists in the 2.6 kernel and in Lustre,
it just hasn''t been connected yet. We''d welcome a patch to do
so.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.