switch between indep and collective modes
Wei-keng Liao
wkliao at ece.northwestern.edu
Tue Jul 3 14:39:19 CDT 2007
If pnetcdf does not specifically define its parallel access consistency
semantics, I wonder if we could define it to follow the MPI-IO semantics,
because pnetcdf is built on top of MPI-IO. The same inconsistent buffering
situation would happen on MPI-IO as well as on pnetcdf if the mode
switching requirement is absent.
Does adding this mode switching requirement put pnetcdf in a more relax
consistency semantics, so it enables pnetcdf implementation to do
optimizations like local data caching? Otherwise, if pnetcdf completely
follows the MPI-IO semantics, I don't see the need for this requirement.
Maybe pnetcdf application users can comment on this, so we can see whether
following MPI-IO consistency semantics is proper for pnetcdf.
Wei-keng
On Tue, 3 Jul 2007, Robert Latham wrote:
> On Fri, Jun 22, 2007 at 12:39:58AM -0500, Wei-keng Liao wrote:
>> According to the API document, "the separation of the two modes is
>> necessary to provide consistent views of file data when moving between
>> MPI-IO collective and independent operations". In what situation the
>> inconsistency will occur if we don't enforce this mode switching?
>
> Hi Wei-keng
>
> I think we wanted to avoid a situation where an MPI-IO implementation
> optimizes collective communication in such a way that indepedent
> accesses might get unexpected data.
>
> ROMIO will use two-phase I/O for a collective noncontiguous write. If
> that is followed by an independent read, the results could be
> undefined. Explicitly entering independent mode means we can flush
> any buffers the MPI-IO implementation might be using for collective
> I/O.
>
>> Is pnetcdf's file consistency policy the same as MPI-IO?
>
> I don't know what the consistency semantics for netcdf would be in a
> parallel environment. If two processes write different data to the
> same indexes of a variable, it's not clear who would 'win'. I don't
> know if applications regularly read and write variables, or if they
> usually just all-write or all-read.
>
> ==rob
>
> --
> Rob Latham
> Mathematics and Computer Science Division A215 0178 EA2D B059 8CDF
> Argonne National Lab, IL USA B29D F333 664A 4280 315B
>
More information about the parallel-netcdf
mailing list