[Lustre-discuss] MPI-IO / ROMIO support for Lustre
Mark Dixon
m.c.dixon at leeds.ac.uk
Mon Nov 8 00:56:51 PST 2010
On Fri, 5 Nov 2010, Rob Latham wrote:
...
> Let's consider two process A and B who are doing non-contiguous
> writes. A writes to the even bytes and B writes to the odd bytes.
> Data sieving means that both processes will read a big chunk of the
> file, modify the local copy of the buffer and then write it. OK, so
> Lustre will ensure that either all of A's write or all of B's write
> will show up, but that still means one process stomps all over the
> other.
>
> so you need something to serialize the read-modify-write.
>
> Note that if you use *collective* i/o then much of this no longer
> becomes a problem. Because it's collective the processes can use MPI
> to coordinate and eliminate this false sharing problem.
>
> Note also that if you never ever use a shared file, then I guess you
> can use local locks. But if you are always doing one file per
> processor instead of a few shared files, you will end up with at the
> very least a mess of files.
...
Brilliant, very informative - thanks Rob.
Hopefully this will help aid other people in my situation; this question
has cropped-up a few times on this list and never seems to make it to a
consensus - so different people have chosen different options.
Best wishes,
Mark
--
-----------------------------------------------------------------
Mark Dixon Email : m.c.dixon at leeds.ac.uk
HPC/Grid Systems Support Tel (int): 35429
Information Systems Services Tel (ext): +44(0)113 343 5429
University of Leeds, LS2 9JT, UK
-----------------------------------------------------------------
More information about the lustre-discuss
mailing list