Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] latency #2
From: Eugene Loh (eugene.loh_at_[hidden])
Date: 2010-09-13 10:49:26


Georges Markomanolis wrote:

> Dear all,
>
> Hi again, after using MPI_Ssend seems to be what I was looking for but
> I would like to know more about MPI_Send.
>
> For example sending 1 byte with MPI_Send it takes 8.69 microsec but
> with MPI_Ssend it takes 152.9 microsec. I understand the difference
> but it seems that from one message's size and after their difference
> is not so big like trying for 518400 bytes where it needs 3515.78
> microsec with MPI_Send and 3584.1 microsec with MPI_Ssend. So has is
> there any rule to figure out (of course it depends on the hardware)
> the threshold that after this size the difference between the timings
> of MPI_Send and MPI_Send is not so big or at least how to find it for
> my hardware?

Most MPI implementations choose one strategy for passing short messages
(sender sends, MPI implementation buffers the message, receiver
receives) and long messages (sender alerts receiver, receiver replies,
then sender and receiver coordinate the transfer). The first style is
"eager" (sender sends eagerly without waiting for receiver to
coordinate) while the second style is "rendezvous" (sender and receiver
meet). The message size at which the crossover occurs can be determined
or changed. In OMPI, it depends on the BTL. E.g., try "ompi_info -a |
grep eager".

Try the OMPI FAQ at http://www.open-mpi.org/faq/ and look at the
"Tuning" categories.