Parallel-NetCDF / PnetCDF

Source code repository of PnetCDF library and utilities
https://parallel-netcdf.github.io
Other
80 stars 22 forks source link

deprecate NC_SHARE and configure option --disable-file-sync #119

Closed wkliao closed 6 months ago

wkliao commented 6 months ago

NC_SHARE is a legacy flag inherited from NetCDF-3, whose purpose is to provide some degree of data consistency for multiple processes concurrently accessing a shared file. To achieve a stronger consistency, user applications are required to also synchronize the processes, such as calling MPI_Barrier, together with nc_sync.

Because PnetCDF follows the MPI file consistency, which only addresses the case when all file accesses are relative to a specific file handle created from a collective open, NC_SHARE becomes invalid. Note that NetCDF-3 supports only sequential I/O and thus has no collective file open per se.

Also see discussion in #107

This PR also deprecates --disable-file-sync. Similar to the above NC_SHARE issue, this configure option alone does not provide a sufficient data consistency. Users are suggested to call ncmpi_sync and MPI_Barrier to achieve a desired consistency.