[MPI3-IO] Nonblocking Collective I/O Implementation for ticket #273

Edgar Gabriel gabriel at cs.uh.edu
Tue Jan 31 19:01:06 CST 2012


On 1/31/2012 4:47 PM, Dries Kimpe wrote:
> 
> * Mohamad Chaarawi <chaarawi at hdfgroup.org> [2012-01-27 15:04:41]:
> 
> [...]
> 
>> The reason is that the entire shared file pointer operations are not 
>> implemented within the MPI-I/O framework used. That being said, we can 
> 
> I'm sorry, I don't understand what you mean by the sentence above.

The OMPIO framework, which has been used to implement the non-blocking
collective I/O operations, does not support at the moment shared file
pointer operations. Shared file pointers will be available around the
May timeframe, but waiting for that would probably add an unnecessary
delay for the specification.

> 
>> provide the pseudo code for the operations, since in reality there is 
>> nothing fundamentally difficult if we have a shared file pointer and the 
>> other nonblocking routines available.
> 
>> Would anyone on this list object to the idea of just providing the 
>> pseudo code implementation for the shared file pointer routines (i.e. 
>> postpone voting on the ticket till we have a prototype implementation 
>> which would likely not be in the MPI-3.0 time frame anymore)?
> 
> Given the discussion about the non-blocking shared file pointer routines,
> it is probably best to put the pseudocode to allow for discussion and make
> sure we fully understand the consequences before getting a vote on the
> ticket.
> 
> While I agree that it would be possible for a user to implement collective
> non-blocking shared file pointer routines, the same could be said for the
> other I/O collectives, so in this case I'd prefer to provide those
> routines.

There is a precedence for what has been suggested in this email within
the MPI standardization. The Forum agreed that an implementation of the
non-blocking collective operations for inter-communicators is not
necessary, since there is no fundamental, additional challenge compared
to their intra-communicator counterparts.  I think the same argument can
be made here. There is nothing fundamentally difficult in the sequence of
 1. get current position of shared file pointer on process 0
 2. execute non-blocking scan operation where every process adds its
    own amount of data to be written/read to the current position of the
    shared file pointer
 3. execute a non-blocking collective write_at operation with offsets
    as determined as a result of step 2.

Step 2 has been implemented as part of the non-blocking collective
operations, step 3 has been implemented as part of the non-blocking
collective I/O operations. Step 1 has fundamentally been implemented a
number of times.

Thanks
Edgar

> 
>   Dries
> 
> 
> 
> _______________________________________________
> MPI3-IO mailing list
> MPI3-IO at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-io

-- 
Edgar Gabriel
Associate Professor
Parallel Software Technologies Lab      http://pstl.cs.uh.edu
Department of Computer Science          University of Houston
Philip G. Hoffman Hall, Room 524        Houston, TX-77204, USA
Tel: +1 (713) 743-3857                  Fax: +1 (713) 743-3335

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 291 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-io/attachments/20120131/c8e4b83a/attachment-0001.pgp>


More information about the mpiwg-io mailing list