[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