LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: mikea_at_[hidden]
Date: 2004-05-24 04:18:30


Hi

would somebody please be able to clarify for me the finer distinctions between
the different send and receive calls (buffered and standard, blocking and non-
blocking) in terms of the time taken by the calling process. That is, I'm not
concerned about the time taken to complete the entire communication, but only
the time that the calling process must spend inside the mpi calls. I'm aware of
what the mpi standard states, but its not clear to me how it is interpreted
within lam-mpi given that it is single-threaded and presumably does not have
internal "progress" threads. My understanding of the lam documentation is that
the communication only progresses when the calling process is inside an mpi
call, hence some of the advantages of non-blocking and buffered disappear.
Specifically I'm guessing that:

1. Buffering should ensure that send() can return as soon as the message is
buffered, but with lam I presume that a buffered send() should take at least as
long as a non-buffered send() to return, as in both cases the call can not
return until the sending process has fully completed with the message.

2. Similarly for lam, the combined time spent in a non-blocking send() and its
matching wait() will be at least that spent in a blocking send(), regardless of
the time interval between isend() and wait(), unless lam uses "progress"
threads. The same applies for receive().

3. Using the lamd rpi module, will a standard blocking send() return once the
message has been passed to the local daemon, or only when a matching receive
has also been posted? I'm guessing the former, and that the above points also
apply to lamd. I can see an advantage in using lamd, as communication with a
process on the local node is cheaper than with one on a remote node, but will
there be a difference whether the send is blocking or non-blocking, buffered or
standard?

thanks in advance
Mike Arnold

-----------------------------------------------------------------------
Computational Neurobiology Laboratory : Phone: 858 453-4100x1455
The Salk Institute of Biological Studies : Fax: 858 587-0417
10010 N. Torrey Pines Rd, La Jolla, CA 92037 : Email: mikea_at_[hidden]
                                             : www.cnl.salk.edu/~mikea