LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Stephan Mertens (Stephan.Mertens_at_[hidden])
Date: 2005-05-11 15:37:26


On May 9, 2005, at 07:30, Jeff Squyres wrote

> > What I still don't understand is why asynchronous progress is
> > never observed for sysv and usysv, even for messages much
> > smaller than the corresponding "short message" limits.

> For messages on the same node, or messages to processes on different
> nodes?

By mistake I ran my program on a single CPU kernel.
With a SMP kernel, asynchrounous progress is seen with sysv and usys
as long as the "short" protocol applies (messages < 8192 byte).

The lack of asynchronous transport for larger messages leads to the
following (somewhat bizzare) situation. Take a process that is sending
messages with a low frequency, say one message every minute (hour, day, ...),
to a receiver that is permanently looping over MPI_Recv.
If you use buffered send and if the
message size exceeds the short protocol limit, no message is ever
delivered and you will eventually ran out of buffer space. Try it!

This is something the textbooks on MPI don't tell you:-)

I really hope that a multithreaded OpenMPI will bring us closer
to textbook paradise.

Stephan

-- 
Stephan Mertens @ http://www.uni-magdeburg.de/mertens
Supercomputing in Magdeburg @ http://tina.nat.uni-magdeburg.de