On Mon, Feb 04, 2008 at 09:08:45AM -0500, Richard Treumann wrote:
> To me, the MPI standard is clear that a program like this:
> task 0:
> start receiving messages
> each of tasks 1 to n-1:
> loop 5000 times
> MPI_Send(small message to 0)
> end loop
> May send some small messages eagerly if there is space at task 0 but must
> block each task 1 to n-1 before allowing task 0 to run out of eager buffer
> space. Doing this requires a token or credit management system in which
> each task has credits for known buffer space at task 0. Each task will send
> eagerly to task 0 until the sender runs out of credits and then must switch
> to rendezvous protocol.
And rendezvous messages are not free either. So this approach will only
postpone failure a little bit.