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-11 10:18:33


Hi all,

Does lam use polling or interrupts for its synchronous sending and
receiving?
Is it configurable to use either? If so what is the default behaviour?

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()
}

 From reading a bit [1]:
<snip>
# Applications which have the following characteristics may see
performance improvements when using with interrupt mode:

     * Applications that use nonblocking send or receive operations for
communication.

     * Applications that have non-synchronized sets of send or receive
pairs. In other words, the send from node0 is issued at a different
point in time with respect to the matching receive in node1.

     * Applications that do not issue waits for nonblocking send or
receive operations immediately after the send or receive, but rather do
some computation prior to issuing the waits.
</snip>

Now my application seems to satisfy all three of these, will I have
improved performance using interrupts?
I have particular problems when there are multiple mpi processes per
node. If you have a lot of MPI processes per node will interrupts
perform better?

Thanks

[1] (http://www.llnl.gov/computing/tutorials/mpi_performance/)

-- 
Mike
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.