[MPI3-IO] shared file pointer

Mohamad Chaarawi chaarawi at hdfgroup.org
Thu Feb 23 15:59:43 CST 2012


Hi Edgar,

On 2/23/2012 3:45 PM, Edgar Gabriel wrote:
> I would agree, I would like to add one more comment/question: how does
> the code sequence listed above compare to
>
> MPI_File_iread_shared()
> MPI_File_iread_shared()
> MPI_File_iread_shared()
> MPI_Waitall()
>
> executed by each process? This is according to my understanding legal in
> MPI-2.

Yes this is legal in and the implementation should maintain the 
sequential ordering of the updates to the shared file pointer.

> Wouldn't it be difficult to explain to users that the guarantees
> given for this scenario are fundamentally different than when using
> MPI_File_iread_ordered?

This is still fine if we do not mix independent and collective 
operations. If we do something like this in MPI-2:

MPI_File_read_ordered_begin()
MPI_File_iread_shared()
MPI_File_read_ordered_end()

The current text does not imply that the implementation has to update 
the pointer in the begin call, which means that the order of updating 
the shared file pointer is not defined.
Our proposal does not change this, meaning that if we do something like:

MPI_File_iread_ordered()
MPI_File_iread_shared()
MPI_Waitall()

The order in which the file pointer is updated is undefined..

Again, I'm not really against omitting the Advice to Users in the 
current proposal that says that the order is undefined in this case, if 
there is a really strong opinion that we should make the bookkeeping 
order defined when mixing collective and independent operations.

Thanks,
Mohamad

>
> Thanks
> Edgar




More information about the mpiwg-io mailing list