mpi-forum / mpi-issues

Tickets for the MPI Forum
http://www.mpi-forum.org/
67 stars 8 forks source link

'Pending operation' not defined, pending proper definition #676

Closed RolfRabenseifner closed 1 year ago

RolfRabenseifner commented 1 year ago

Problem

The text uses the term "pending operation" in some places to refer to an "active operation" (as in: it's completion is pending). Nowhere is it defined in what state a pending operation is supposed to be so in some contexts this can be confusing. With semantic terms, the proper term to use differ, for example "active" und "decoupled MPI activities", or soemthing else.

Examples:

§11.10.4

MPI_COMM_DISCONNECT has the same action as MPI_COMM_FREE, except that it waits for pending communication to finish internally and enables the guarantee about the behavior of disconnected processes.

would be

MPI_COMM_DISCONNECT has the same action as MPI_COMM_FREE, except that it waits for decoupled MPI activities to finish internally and enables the guarantee about the behavior of disconnected processes.

(see also https://github.com/mpi-forum/mpi-issues/issues/536) (may be resolved in https://github.com/mpi-forum/mpi-issues/issues/710)

§6.12:

That is, an MPI implementation should be able to support a large number of pending nonblocking operations.

would be

That is, an MPI implementation should be able to support a large number of active nonblocking operations.

§7.1.2

This allows the invocation of the library even if there are pending communications on “other” communicators, and avoids the need to synchronize entry or exit into library code. Pending point-to-point communications are also guaranteed not to interfere with collective communications within a single communicator.

would be

This allows the invocation of the library even if there are active communications on “other” communicators, and avoids the need to synchronize entry or exit into library code. Active point-to-point communications are also guaranteed not to interfere with collective communications within a single communicator.

§7.4.3

Any pending operations that use this communicator will complete normally

would be

Any active operations that use this communicator will complete normally

(resolved in https://github.com/mpi-forum/mpi-issues/issues/543)

§... There are many more locations using 'pending'

Proposal

See also solution in issue https://github.com/mpi-forum/mpi-issues/issues/543

One must be careful, because active may be wrong (as in https://github.com/mpi-forum/mpi-issues/issues/543).

Changes to the Text

See above. This should be part of the "cleanup" for MPI 4.1.

Alternatively, the term "pending" could be properly in the terms section. (Risky, because its meaning may be different in different contexts)

Impact on Implementations

None (unless there it renders some implementations non-compliant due to confusion stemming from the usage of the term "pending")

Impact on Users

Clear use of terms helps users better understand the text without having to reason about what a "pending operation" is.

References and Pull Requests

wesbland commented 1 year ago

I'm moving this to MPI 5.0. If you think we can make this edit as a CC change, we can bring it back in.

RolfRabenseifner commented 1 year ago

The changes of PR 824 are marked with PR824 and also in yellow color on pages 56, 62, 76, 81, 83, 92, 240, 294-296, 310, 497, 626, 688, 804, 810, 1023, 1051, 1052, 1055 in mpi41-report_Issue676_PR824.pdf

RolfRabenseifner commented 1 year ago

The changes of PR 824 are marked with PR824 and also in yellow color on pages 56, 62, 76, 81, 83, 92, 240, 294-296, 310, 497, 626, 688, 804, 810, 1023, 1051, 1052, 1055 in mpi41-report_Issue676_PR824.pdf

There is a counter proposal in PR 825 (see my next comment below).

RolfRabenseifner commented 1 year ago

PR 825 is a counter proposal to PR 824 (for its pdf, see my comment above).

The changes of PR 825 are marked with PR825 and also in yellow color on pages 12, 17, 56, 62, 63, 76, 81, 83, 92, 240, 294-296, 310, 497, 626, 688, 804, 810, 1023, 1051, 1052, 1055 in mpi41-report_Issue676_PR825.pdf

I clearly prefer PR825 because it defines pending (communication) operations. This term exists since MPI-1 and may be used in many software documentations, research papers, book, etc. Therefore, defining pending (communication) operations as "an operation in active state" is better than substituting "pending" by "active".

RolfRabenseifner commented 1 year ago

The results of the virtual MPI forum meeting, June 7, 2023 are

RolfRabenseifner commented 1 year ago

This version v4 includes all proposed changes at the virtual MPI forum meeting, June 7, 2023 together with changes from the review process of this PR 825. The changes are marked with PR825 and also in yellow color on pages 12, 17, 56, 62, 63, 76, 81, 83, 92, 240, 294-296, 310, 497, 626, 688, 803, 804, 810, 1023, 1051, 1052, 1055 in mpi41-report_Issue676_PR825_v4.pdf

RolfRabenseifner commented 1 year ago

PDF files

wesbland commented 1 year ago

This passed a errata vote.

Yes No Abstain
32 0 2