[Lustre-devel] Role of the Metadata Server during File I/O
Oleg.Drokin at Sun.COM
Thu Aug 13 11:00:55 PDT 2009
On Aug 11, 2009, at 1:24 PM, office at hailoo.com wrote:
> Thanks for the information. Doesn't this entail that for every call
> to write() involving a striped file, Lustre must necessarily consult
> all OSSs, in order to determine 1) the file size and 2) if the
> current write operation will extend the file?
Why does write need to know the entire file size? We only care if we
are extending currently accessed stripe. We know this the moment we
obtained the lock on
the stripe region we are interested in.
> If so, then I think it would be advisable for Lustre clients working
> with striped files to avoid small unbuffered file writes, since
> every call to write() requires a lot of network overhead.
It is indeed not advisable to use small unbuffered writes (though we
relieved the situation somewhat), but not because of the network
overhead, rather the lustre
code is not exactly light-weight doing thelock processing and lookup
I remember when LLNL performed experiments, and 4 byte unbuffered
writes were 100 times slower than 1M writes.
But since then we improved the situation and I am no longer sure how
More information about the lustre-devel