I think I found the answer to my question on Jeff Squyres blog:
http://blogs.cisco.com/performance/shared-memory-as-an-mpi-transport-part-2/
However now I have a new question, how do I know if my machine uses
the copyin/copyout mechanism or the direct mapping?
Assuming that I am running on OpenMPI 1.5.x installed on top of a
linux Kernel 2.6.32?
cheers, Simone
On 05/22/2012 05:29 PM, Simone Pellegrini wrote:
Dear
all,
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,
Simone P.