sync in ncmpi_end_indep_data()

Robert Latham robl at mcs.anl.gov
Thu Sep 20 15:50:30 CDT 2007


On Thu, Sep 20, 2007 at 02:46:47PM -0500, Wei-keng Liao wrote:
> In file mpinetcdf.c, function ncmpi_end_indep_data(), MPI_File_sync() is 
> called. I don't think this is necessary. Flushing dirty data may be needed 
> if pnetcdf implemented a caching layer internally. However, this file sync 
> should be flusing data from pnetcdf caching layer (if it is implemented) 
> to the file system, not application clients to the file servers (or disks) 
> as MPI_File_sync() will do.
> 
> This file sync makes IOR performance bad for pnetcdf independent data 
> mode.

What if an independent write was followed by a collective read?  I
think we covered this earlier in the year.  The NetCDF semantic for
this seems to be undefined.  If so, then I guess the MPI_File_sync is
indeed unnecessary.  The sync in there might be to enforce conclusion
of a "write sequence" and ensure changes made to the file by other
processes are visible to that process.

pnetcdf could be clever when a file is opened NC_NOWRITE and disable
that sync.

==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