Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] MPI Message Communication over TCP/IP
From: pranav jadhav (pranavjadhav_at_[hidden])
Date: 2009-04-16 20:58:00

Hello Tim,

Thanks for providing the details. I was going through the code of MPI_Send
and I found a function pointer being invoked mca_pml.send of struct
mca_pml_base_module_t. I am trying to figureout when are these PML function
pointers get initialized to call internal BTL functions. I am trying to know
how MPI program communicate over TPC/IP for message passing in a distributed
setup and would appreciate if you can provide more details or any report
that you would like to share.

Pranav Jadhav

On Thu, Apr 16, 2009 at 11:38 AM, Timothy Hayes <hayesti_at_[hidden]> wrote:

> From what I understand MPI_Send will hit 3 seprate layers of code before
> reaching the socket file descriptors you've found. The PML (Point to Point
> Messaging Layer) is a layer that bridges the MPI semantics from the
> underlying point to point communications. The standard PML implementation is
> called 'ob1' which is what indirectly calls the code you found. MPI_Send
> should go through pml_isend() or pml_send() which will request a BTL (Byte
> Transfer Layer) modules from the BML (BTL Management Layer) and invoke the
> BTL's btl_prepare_src() or btl_alloc() functions before calling the
> btl_send(). It becomes clearer when you step through it all with a debugger
> though ;-)
> If you're interested, I've recently implemented a BTL component of my own
> and am now writing up a report on the process. It will be ready next week,
> so if you think it might be useful, just let me know.
> Tim
> 2009/4/16 pranav jadhav <pranavjadhav_at_[hidden]>
>> Hi All,
>> I am new to MPI library. I downloaded and started using OpenMPI library to
>> build MPI programs. I wanted to know how does MPI program communicates over
>> the network. I am trying to trace the flow of MPI_Send and MPI_Bcast APIS to
>> find the actual send/recv calls being used for sending the packets over the
>> network. I was trying to look into the code , I found some tcp related
>> socket connections in code base in "ompi/mca/btl/tcp/" but I am not able to
>> figureout how does MPI_Send works. Please if anyone knows how MPI_Send and
>> MPI_Recv APIs works for communicating over network,please let me know.
>> Thankyou,
>> Regards,
>> Pranav Jadhav
>> Stony Brook University
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
> _______________________________________________
> devel mailing list
> devel_at_[hidden]

Pranav Jadhav
Graduate Student
Computer Science Department
Stony Brook University