[mpich-discuss] patch for ad_lustre_wrcoll.c
Rob Latham
robl at mcs.anl.gov
Tue Nov 29 16:44:30 CST 2011
On Wed, Aug 10, 2011 at 01:56:33PM -0600, Martin Pokorny wrote:
> These changes improve performance by reducing the number of system
> 'write' calls in the ADIO Lustre collective write code, and perhaps
> also by keeping the writes ordered. This is especially effective in
> my application, in which the data are highly interleaved among the
> processes in the group calling the MPI-IO collective write
> functions.
Hi Martin. Sorry it has taken me so long to respond to your
contribution. I think I understand what you're doing and why, and I'm
going to commit it.
Let me make sure I really do understand by explaining back what you
are doing:
- in collective I/O, if there are any gaps in the file domain,
collective i/o does a read-modify-write. This works great on most
file systems but on Lustre the (implicit, here) locking needed for
this is extremely costly. So, the Lustre driver has a hint to turn
off data sieving in collective cases and service each request piece
by piece.
- because the requests are being serviced piecewise, certain workloads
could result in out-of-order blocks that once placed back in order
end up being adjacent to each other and can be merged.
I would very much like to have a tiny test case that shows this out of
order workload but for now I am just committing the patch. SVN
revision 9240 has the fix.
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
More information about the mpich-discuss
mailing list