[Lustre-devel] read ahead

Andreas Dilger adilger at sun.com
Thu Dec 20 12:44:06 PST 2007

On Dec 20, 2007  12:20 +0200, Alex Lyashkov wrote:
> On Thu, 2007-12-13 at 17:21 -0700, Andreas Dilger wrote:
> > Well, we already have a beginning of this kind of operation on the client
> > with client-side metadata statahead.  That detects readdir->stat operation
> > and prefetches the MDS attribute data.  
> I'm not sure this was good idea. stat readahead is slow for single cpu
> box, and slow in testing with local devices (very low network latency) -
> and can add noticeable speedup only with high latency network links,
> because can send many stats requests when main thread block in waiting
> one answer.

This isn't the common configuration that we run in, however.  Most Lustre
setups today (and even laptops) have multiple CPUs, and clients are
generally remote instead of local.  In such testing the statahead is about
2x faster than without, and I think it could be even faster if we also had
OST statahead.

The current statahead is limited by the fact we are only hiding the
client->MDS latency (1 of 2 synchronous RPCs) and not the client->OSTs
latency (which happen concurrently for N stripes, but will be the slowest
of all OST getattrs).  So our maximum "ls -l" improvement is currently
2x until SOM (for closed files) or OST statahead is implemented.

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

More information about the lustre-devel mailing list