That would make sense. I able to break OpenMPI by having Node A wait for
messages from Node B. Node B is in fact sleeping while Node C bombards
Node A with a few thousand messages. After a while Node B wakes up and
sends Node A the message it's been waiting on, but Node A has long since
been buried and seg faults. If I decrease the number of messages C is
sending, it works properly. This was on OpenMPI 1.2.4 (using I think the
SM BTL (might have been MX or TCP, but certainly not infiniband. I could
dig up the test and try again if anyone is seriously curious).

Trying the same test on MPICH/MX went very very slow (I don't think they
have any clever buffer management) but it didn't crash.

Sacerdoti, Federico Federico.Sacerdoti-at-deshaw.com
|openmpi-users/Allow| wrote:
> Hi,
> 
> I am readying an openmpi 1.2.5 software stack for use with a
> many-thousand core cluster. I have a question about sending small
> messages that I hope can be answered on this list. 
> 
> I was under the impression that if node A wants to send a small MPI
> message to node B, it must have a credit to do so. The credit assures A
> that B has enough buffer space to accept the message. Credits are
> required by the mpi layer regardless of the BTL transport layer used.
> 
> I have been told by a Voltaire tech that this is not so, the credits are
> used by the infiniband transport layer to reliably send a message, and
> is not an openmpi feature.
> 
> Thanks,
> Federico
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
--Kris

叶ってしまう夢は本当の夢と言えん。
[A dream that comes true can't really be called a dream.]

Reply via email to