Ron, Brightwell, Ronald wrote:
Not to muddy the point, but if there's enough ambiguity in the Standard for people to ignore the progress rule, then I think (hope) there's enough ambiguity for people to ignore the sender throttling issue too ;)
I understand your position, and I used to agree until I was forced to change my mind by naive users :-)
Poorly written MPI codes won't likely segfault or deadlock because the progress rule was ignored. However, users will proudly tell you that you have a memory leak if you don't limit the size of the unexpected queue and their codes with no flow control blow up.
You don't have to make it very efficient (per-sender credits definitively does not scale), but you need to have a way to stall/slow the sender when the unexpected queue gets too big. That's quite easy to do without affecting the common case.
Patrick