Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 4 commits into from
Feb 11, 2024
Merged

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
3 of 4 checks passed
@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