[mpiwg-hybridpm] Changing MPI_GROUP|COMM_COMPARE for endpoints
Daniel Holmes
dholmes at epcc.ed.ac.uk
Thu Jan 29 12:22:29 CST 2015
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 <james.dinan at gmail.com
> <mailto:james.dinan at gmail.com>> 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&RT=MiMxMQ%3D%3D
>
> +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
> mpiwg-hybridpm at lists.mpi-forum.org
> 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: dholmes at epcc.ed.ac.uk
*Please consider the environment before printing this email.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-hybridpm/attachments/20150129/406b5458/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-hybridpm/attachments/20150129/406b5458/attachment-0001.ksh>
More information about the mpiwg-hybridpm
mailing list