LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Michael Lees (mhl_at_[hidden])
Date: 2005-08-12 10:22:38


Hi Jeff,

>>I have a thread for performing asynchronous sending and receiving,
>>something along the lines of...
>>
>>while(running){
>>MPI_IRecv(&request)
>> While(recvflag ==0){
>> MPI_Test(request,recvflag)
>> MPI_Send()
>> yield()
>> }
>> yield()
>>}
>
>
> Wow, that's a lot of sending. :-)

Is it though? As far as I understand it the blocking send will wait
until a matching receive is posted? Am I wrong? So they'll only be one
send per receive?

The setup is 10 or so slave nodes sending 8000 messages each to a single
master node which processes the messages and may send responses to the
slaves. I figured the above design for send/receive thread was general
enough for both types of node? Each slave delays for approximately 100
miliseconds every 16 events which should give time for the master to
process the events.

> The best thing you can do is try them both and see what happens. With
> LAM, this is a simple option to mpirun:
>
> mpirun -ssi rpi lamd ....
>
> tells it to use the lamd RPI, for example. So you don't need to
> recompile, etc.
>

Thanks for your help I'll try this.

It seems my application has odd behaviour - it starts quickly and midway
through starts to slow down. It doesn't seem to be a memory problem -
from ps the processes are about 5megs each (4 per node) resulting in
20meg on a 1gb node? The CPU usage is low too, around 8%.
If you have any other ideas what might be slowing things down it's much
appreciated.

Thanks again

This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.