[mpich-discuss] MPI-IO and (potentially) unnecessary synchronization
burlen
burlen.loring at gmail.com
Wed Sep 1 12:38:14 CDT 2010
in benchmarks of very large concurrent writes on Lustre using both cb
and non cb API I have observed that for the non cb API that asynchronism
during write can be advantageous as it tends to reduce congestion and
contention. This can increase the throughput. However, in this case the
synchronization time that occurs at MPI_File_close is significant for
many of the processes, as non return until the slowest process enters
the call. This synchronization at close in net effect ruins any
advantage gained. So I wonder does MPI_File_close really require a
collective implementation? For instance I could imagine a reference
counting scheme where one process were designated to manage close
operation, others call MPI_File_sync (which I've observed doesn't block
unless it has to) and post a non-blocking 0 byte message to the manager
rank, then they can continue unimpeded. You could perhaps remove all to
one communication using some sort of hierarchical structured
communication pattern. If I understand such a scheme wouldn't violate
consistency because if one cares about it then a barrier is required anyway.
Have I misunderstood the situation?
Thanks
Burlen
More information about the mpich-discuss
mailing list