Fwd: Changing MPI_GROUP|COMM_COMPARE for endpoints
Hi all, At the request of other working group members, I'm re-sending this email to bring this issue back to life. Cheers, Dan. -------- Forwarded Message -------- Subject: Changing MPI_GROUP|COMM_COMPARE for endpoints Date: Thu, 29 Jan 2015 18:22:29 +0000 From: Daniel Holmes <[email protected]> Reply-To: [email protected] Organization: EPCC To: [email protected] Hi Jim/all, I won't be able to attend the next Hybrid WG teleconference (I'm on holiday from tomorrow until 10th Feb) but that will be the last opportunity to discuss changes to the endpoints text before it needs to be sent to the forum mailing list if it is to be in time to be formally read. At the last teleconference, we decided that we should look at a "minimum change" option and a "maximum readability" or "maximum de-duplication" option. --- exec summary --- This is a tricky change with unexpected repercussions to other areas that needs a lot of careful thought. It would be unfortunate if that extended effort delayed/derailed the main endpoints proposal. We have a very good reason to go for the minimum change option described below. --- option 1 - minimum change --- I think that the obvious "minimum change" option is that we propose not to change MPI_COMM_COMPARE or MPI_GROUP_COMPARE at all and not add the new result of MPI_ALIASED either. This could be moved to a separate proposal that would be dependent on #380 passing. Some would claim the new comparison ticket would be essential if endpoints passes - this is the only good reason to combine the two changes. --- option 2 - maximum readability/de-duplication --- This is the current text for MPI_GROUP_COMPARE: MPI_IDENT results if the group members and group order is exactly the same in both groups. This happens for instance if group1 and group2 are the same handle. MPI_SIMILAR results if the group members are the same but the order is different. MPI_UNEQUAL results otherwise. Here's suggested new text for MPI_GROUP_COMPARE: Groups are identical if they contain the same group members in the same order. Groups are similar if they contain the same group members but not in the same order. MPI_IDENT results if the group handles refer to the same group member in identical groups. MPI_ALIASED results if the group handles refer to different group members in identical groups. MPI_SIMILAR results if the group handles refer to the same group member in similar groups. MPI_UNEQUAL results otherwise. This is the current text for MPI_COMM_COMPARE: MPI_IDENT results if and only if comm1 and comm2 are handles for the same object (identical groups and same contexts). MPI_CONGRUENT results if the underlying groups are identical in constituents and rank order; these communicators differ only by context. MPI_SIMILAR results if the group members of both communicators are the same but the rank order differs. MPI_UNEQUAL results otherwise. Here's suggested new text for MPI_COMM_COMPARE: Communicators are identical if they have identical communication contexts; this implies that their underlying groups are also identical. MPI_IDENT results if the communicator handles refer to the same rank in identical communicators. MPI_ALIASED results if the communicator handles refer to different ranks in identical communicators. MPI_CONGRUENT results if the two communicators have identical underlying groups but different communication contexts. MPI_SIMILAR results if the two communicators have similar underlying groups. MPI_UNEQUAL results otherwise. --- notes --- Talking about same|different *group members* in identical|similar groups is preferred over talking about same|different *ranks* because "same|different rank in similar groups" does not guarantee "same|different endpoint in similar groups" which is what we want to say without including the word "endpoint". Talking about ranks in communicators is preferred over group members because communicators do not have group members even though their underlying groups do. They perhaps have members, i.e. without the "group" qualifier. The phrases "same rank" and "different ranks" are only ever applied to identical communicators because they are only guaranteed to mean "same endpoint" and "different endpoint" for identical communicators. --- issues --- This range of responses is incomplete and therefore inadequate. Incomplete because, for example in the group comparison: MPI_SIMILAR_ALIASED results if the group handles refer to different group members in similar groups. Inadequate because it seems that the interesting definition for the "aliased" property of handles is whether or not they refer to the same endpoint or different endpoints. To be able to determinable that for *any* two group/comm handles, "aliased" must be completely orthogonal to all the other criteria. We would need an additional MPI_UNEQUAL_ALIASED response for both comparison functions as well as MPI_CONGRUENT_ALIASED for communicator comparison. This implies that MPI_GROUP_ALIASED(group1, group2) and MPI_COMM_ALIASED(comm1, comm2) is a better approach. One of the main reasons for needing to know whether or not two handles refer to the same endpoint is the proposed restriction on usage of group manipulation functions, i.e. not allowing aliased handles. I believe we should define a fix for each of these functions so that this restriction is not needed. --- conclusion --- This is a tricky change with unexpected repercussions to other areas that needs a lot of careful thought. It would be unfortunate if that extended effort delayed/derailed the main endpoints proposal. We have a very good reason to go for the minimum change option. Cheers, Dan. On 26/01/2015 21:42, Jim Dinan wrote:
All,
Here is the diff of changes from the December meeting. There's one spot where a few options for the text are included and the MPI_ALIASED changes are still pending (thanks to Dan for leading this tricky task).
Thanks, ~Jim.
On Mon, Jan 26, 2015 at 10:53 AM, Jim Dinan <[email protected] <mailto:[email protected]>> wrote:
Hi All,
Reminder that there will be a meeting at 11am CT today.
~Jim.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Meeting Info:
https://cisco.webex.com/ciscosales/j.php?ED=236535652&UID=0&PW=NOGE0NDk5MmVh...
+1-866-432-9903 <tel:%2B1-866-432-9903> Meeting ID: 206095536
https://svn.mpi-forum.org/trac/mpi-forum-web/wiki/MPI3Hybrid
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
_______________________________________________ mpiwg-hybridpm mailing list [email protected] http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-hybridpm
-- Dan Holmes Applications Consultant in HPC Research EPCC, The University of Edinburgh James Clerk Maxwell Building The Kings Buildings Peter Guthrie Tait Road Edinburgh EH9 3FD T: +44(0)131 651 3465 E:[email protected] *Please consider the environment before printing this email.* -- Dan Holmes Applications Consultant in HPC Research EPCC, The University of Edinburgh James Clerk Maxwell Building The Kings Buildings Peter Guthrie Tait Road Edinburgh EH9 3FD T: +44(0)131 651 3465 E: [email protected] *Please consider the environment before printing this email.* The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
participants (1)
-
Daniel Holmes