Hi Eugene,

Eugene Loh wrote:
>> replace the fifo’s with a single link list per process in shared 
>> memory, with senders to this process adding match envelopes 
>> atomically, with each process reading its own link list (multiple 


> *) Doesn't strike me as a "simple" change.

Actually, it's much simpler than trying to optimize/scale the N^2
implementation, IMHO.

> *) Not sure this addresses all-to-all well.  E.g., let's say you post a 
> receive for a particular source.  Do you then wade through a long FIFO 
> to look for your match?

The tradeoff is between demultiplexing by the sender, which cost in time
and in space, or by the receiver, which cost an atomic inc. ANY_TAG
forces you to demultiplex on the receive side anyway. Regarding
all-to-all, it won't be more expensive if the receives are pre-posted,
and they should be.

> What the RFC talks about is not the last SM development we'll ever 
> need.  It's only supposed to be one step forward from where we are 
> today.  The "single queue per receiver" approach has many advantages, 
> but I think it's a different topic.

But is this intermediate step worth it or should we (well, you :-) ) go
directly for the single queue model ?

Patrick

Reply via email to