Re: [MPI3-IO] Nonblocking Collective I/O Implementation for ticket #273
On 1/31/2012 4:47 PM, Dries Kimpe wrote:
* Mohamad Chaarawi <[email protected]> [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 [email protected] 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
participants (1)
-
Edgar Gabriel