Subject: Names for communicators

From: [email-masked] (David Walker)
Date: Wed, 21 Apr 1993 08:34:47 -0400

I think either C0, C1, C2 or G0, G1, G2 are the best names for communicator
objects. Things like "RACOM" and "ERCOM" are not suitable. Does the C0 (aka
Floopy) communicator still exist in the latest proposal X. In pt2pt
communication using C0 we use process handle to designate source and 
destination, whereas with C1 and C2 the rank is used. Does this imply
we need separate pt2pt routines for C0 communicators, thereby doubling the
number of pt2pt routines?

David

---

From: L J Clarke <[email-masked]>
Date: Wed, 21 Apr 93 13:56:02 BST

Hi David

> objects. Things like "RACOM" and "ERCOM" are not suitable. 

Okay, whatever you think.

> Does the C0 (aka Floopy) communicator still exist in the latest proposal X. 

Hard to say :-)

In the letter (long) I posted yesterday I spoke only of two subclasses,
which I called intracommunicator and intercommunicator, and which we can
call C1, C2.  The capability of the C0 (aka Floopy) is in the suggestion
of the letter, for sure.  The question is how things end up presented in
X (aka malcolm :-), which we (Tony, Rik, myself, ...) have not yet
discussed. 

> In pt2pt
> destination, whereas with C1 and C2 the rank is used.

Yes, although we haven't really made a decision about whether its a
global process identifier (pid) or a local process identifier (handle),
or whether (my preference) we define it such that it can be implemented
either way.

> Does this imply

I think not, and this is reflected in the letter of yesterday.  The way
I see it, a process identifier or process handle should be expressed as
an integer which is the same type as a rank.  Thus the pt2pt syntax
class is the same for all of the cases, and we do not need to multiply
the number of pt2pt routines, if we use genericity and overloading.

In essence we describe pt2pt as

(communicator, process-label, message-label, ...)

where 

communicator       is an instance of a Communicator object
process-labek      is a process label interpreted according to communicator
                      as a process identifier or rank
label              is a message label which is a tag in the context of
                      the communicator 
                    
> David
         /--------------------------------------------------------\
    e||) | Lyndon J Clarke    Edinburgh Parallel Computing Centre | e||) 
    c||c | Tel: 031 650 5021  Email: [email-masked]  | c||c 
         \--------------------------------------------------------/