Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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