Subject: Re: inter-communication

From: L J Clarke <[email-masked]>
Date: Tue, 27 Jul 93 10:56:09 BST

If we make context an opaque object then we avoid the insecurity arising
from the possibility that two different peices of code in the same
process will accidentally (or maliciously :-) choose to bind the same
context number (say 5) in different communicator objects. 

If we make context opaque then we can make the rule that a process can
only have ONE binding of a context and it is an error to attempt to bind
a context which is already bound.  The context object can contain a
BOUND/FREE flag which becomes set to BOUND when we bind the context and
is set to FREE otherwise. 

These ideas solves two insecurity problems, which is very good indeed. 
The cost is that contexts no longer conform to the wishes of Mark Sears
and colleagues. 

There is a third problem which these ideas do not solve. 

Imagine two processes P and Q which are in group G, and Q is also in
group H.  Within group G both P and Q allocate a context C (opaque as
discussed).  P then binds C with G into a communicator Dp, while Q binds
C with H into a communicator Dq. P then sends a message to Q using the
communicator Dp. 

Of course we can say that the above is an arroneous program ...  I would
personally be happy with that situation, but I would also be concerned
about the committee taking a different view. 

By the way, Tom, a couple of points.  I think you are getting confused
between MPI_CONTEXTS_RESERVE and MPI_CONTEXTS_ALLOC.  Also the CONTEXT
allocation is a collective within a group of processes and the CONTEXT
reservation is local to a single process.  There is no notion of a
global context server in the draft and a CONTEXT is not necessarily a
global object unless allocated within the global group of processes.

I do not currently see how the suggestions which Tony make really help
with inter-communication.  They dont seem to either add or remove any
new possibilities with respect to inter-communication.  Perhaps I miss
something important?

Best Wishes
Lyndon

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