Skip to content

Conversation

@wkliao
Copy link
Member

@wkliao wkliao commented Feb 10, 2024

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.

@wkliao wkliao merged commit f572ef6 into master Feb 11, 2024
@wkliao wkliao deleted the nc_share branch March 15, 2024 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant