I would like to have a confirmation on the assumptions I have on how
OpenMPI implements the rendezvous protocol for shared memory.
If process A sends a message to process B and the eager protocol is used
then I assume that the message is written into a shared memory area and
picked up by the receiver when the receive operation is posted.
When the rendezvous is utilized however the message still need to end up
in the shared memory area somehow. I don't think any RDMA-like transfer
exists for shared memory communications. Therefore you need to buffer
this message somehow, however I assume that you don't buffer the whole
thing but use some type of pipelined protocol so that you reduce the
size of the buffer you need to keep in the shared memory.
Is it completely wrong? It would be nice if someone could point me
somewhere I can find more details about this. In the OpenMPI tuning page
there are several details regarding the protocol utilized for IB but
very little for SM.
thanks in advance,