Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] some question about OMPI communication infrastructure
From: Ralph Castain (rhc_at_[hidden])
Date: 2009-06-18 10:26:46


Hi Leo

The MPI communications is contained in the ompi/mca/btl code area. The
BTL's (Bit Transport Layer) actually moves the message data. Each BTL
is responsible for opening its own connections - ORTE has nothing to
do with it, except to transport out-of-band (OOB) messages to support
creating the connection if that specific BTL requires it.

If you are interested in TCP communications, you will find all of that
code in ompi/mca/btl/tcp. It can be confusing down there, so expect to
spend a little time trying to understand it. I believe Jeff has some
documentation on the OMPI web site about it (perhaps a video?).

The source/destination is embedded in the message, again done by each
BTL since the receiver must be a BTL of the same type. Again, this has
nothing to do with ORTE - it is purely up to the BTL. MPI
communications are also coordinated by the PML, which is responsible
for matching messages with posted receives. You might need to look at
the ompi/mca/pml/ob1 code to understand how that works.

Hope that gives you a starting point
Ralph

On Jun 18, 2009, at 7:57 AM, Leo P. wrote:

> Hi Everyone,
>
> I wanted to ask some questions about things I am having trouble
> understanding.
> As far as my understanding of MPI_INIT function, I assumed MPI_INIT
> typically procedure resources required including the sockets. But
> now as I understand from the documentation that openMPI only
> allocated socket when the process has to send a message to a peer.
> If some one could let me where exactly in the code this is happening
> I would appreciate a lot. I guess this is happening in ORTE layer so
> I am spending time looking at it. But if some one could let me in
> which function this is happening it will help me a lot.
> Also I think most of the MPI implementation embed source and
> destination address with the communication protocol. Am I right to
> assume openMPI does the same thing. Is this also happening in the
> ORTE layer.
> Is there a documentation about this openMPI site? if there can
> someone please let me know the location of it.
>
>
> Sincerely,
> Leo.P
>
> ICC World Twenty20 England '09 exclusively on YAHOO!
> CRICKET_______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel