Subject: De-confused...

From: [email-masked] (Tom Henderson)
Date: Tue, 27 Jul 93 10:16:23 MDT

Lyndon writes,

> 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.
> 
> Best Wishes
> Lyndon

You are right about my confusion.  Re-reading the current draft (yet again) I 
see that I had mis-interpreted what MPI_CONTEXTS_RESERVE() is doing.  Sorry if 
I added confusion to the discussion...  :-(  

So, what does MPI_CONTEXTS_RESERVE() mean if contexts are opaque?  I guess I 
could receive a flattened context from another process, unflatten it, and 
then call MPI_CONTEXTS_RESERVE() to ensure that a subsequent call to 
MPI_CONTEXTS_ALLOC() does not give me the "same" context.  If the "same" 
context is (somehow) already "in use", then I'll get an error from 
MPI_CONTEXTS_ALLOC() so I can do something about it...  Does this sound 
right?  

Would it be possible to satisfy the "well known context" idea by having a 
static array of named contexts available for use by a server developer?  
Something like this:  

  MPI_NAMED_USER_CONTEXT_0
  MPI_NAMED_USER_CONTEXT_1
  ...
  MPI_NAMED_USER_CONTEXT_63

We could certainly argue forever about "how many" of these there should be.  
Do we need a large number of "well known" contexts?  

Tom