Subject: Re: copying ?

From: L J Clarke <[email-masked]>
Date: Wed, 8 Sep 93 15:48:26 BST

> I believe that virtual topology information can be safely cached with groups.
> MPI_GROUP_DUP would then have the power to preserve this info.  MPI_COMM_DUP
> calls MPI_GROUP_DUP in a typical implementation :-)
> 

The question on _COMM_DUP is whether the semantics are defined to be
equivalent to copying the value of the group or a reference to the
group, so to speak.  It appears that you advocate the actual copy
semantics.  This interesting because lets assume an implementation is
trying not to eat memory - it will not copy the actual group mapping
tables but will hold an additional reference to them.  However the copy
semantics mean that there must be an independent group cache "in" the
new communicator compared to the old communicator.  I suppose we get a
picture of the implementation of a group being a reference to a group
mapping object (such object not directly visible to the user), and an
actual cache object (such object is directly visible to the user).  The
copying a group means cretaing a new cache object and taking a copy of
the same group mapping object.  Yeah, that works, fine. 

If the copy semantics are adopted then each communicator will presumably
have a different group therein, and therefore a different group cache. 
Does this remove the need for a separate communicator cache also?

Regards
Lyndon
         /--------------------------------------------------------\
    e||) | Lyndon J Clarke    Edinburgh Parallel Computing Centre | e||) 
    c||c | Tel: 031 650 5021  Email: [email-masked]  | c||c 
         \--------------------------------------------------------/