LAM/MPI logo

LAM/MPI Development Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Samuel Richard (samuel.richard_at_[hidden])
Date: 2005-12-15 09:00:51


Liu Xuezhao wrote:

>Perhaps i can give an answer for this question, but i am not sure ;)
>
>For TCP RPI of LAM-MPI, it is the TCP/IP protocol itself but not the LAM-MPI which is corresponds for the buffering of the incoming message. LAM-MPI's TCP RPI is only use tcp/ip SOCKET interface to achieve the point-to-point message transfer, the actual packet receiving or sending is managed by the underlying tcp/ip protocol.
>In the tcp/ip protocol, when a packet is incoming, the NIC dirver will malloc a sk_buff structure and place the packet into the structure, and then the network layer protocol have the change to deal with it. I think perhaps this is the buffering mechanism you referred to.
>
>
>

If what you say is correct, can anybody tell me what the difference
between sendR and sendB sends using the TCP RPI?
I think, according to some experiments that when I send messages using
sendR method, messages are buffered by TCP and read from this buffer at
the speed of my application (each time a read is posted).
What I wonder is what happens with sendB method?
Reading Lam documentation it seems to me that the messages should be
buffered in Lam buffer (attached with MPI_Buffer_attach) ? (in this case
at which speed are they collected) and then the lam buffer should be
emptied by my application each time a recieve is posted. Is that correct?
If this is correct, how are the messages copied from the TCP buffer to
the LAM buffer :
are there two threads of execution?, one for the mpi application and one
for Lam which manage lam requests?

Thank you for any help,
Samuel