Jeff Squyres wrote:

It looks like Eugene's and George's fixes on coll sm resolve all the known hangs. We still have flow control issues, but that is temporarily being solved by the coll sync component. To be clear: running with coll_sync_barrier_before 1000 seems to resolve all known hangs, and we think that this is good enough for v1.3.3. We should CMR whatever is necessary to the v1.3 branch.

==> We should also default coll_sync_barrier_before to 1000 for v1.3.3 (i.e., ensure sync activates itself).

For the future, we have a two pronged plan:

I suspect the standard procedure is that we all look quickly at this e-mail message, file appropriately, and then resume our normal lives. Yes? Or, is such a plan put somehow into place?

1. Clean up the sm btl:
   1a. Remove all dead code.

What do you mean here? (Possibly you mean getting rid of sm pending sends if we implement 1b properly, but I'm not sure.)

1b. Resize free_list_max and fifo_size MCA params to effect good enough flow control. 1c. Possibly: convert from FIFO's to linked lists (for future maintenance purposes, not necessarily to fix problems).

Another idea is to have two kinds of FIFOs. One is just for returning fragments. The other is for in-coming message fragments. It would even seem as though one would no longer need "free lists", but just use the ack FIFO to manage fragments. (ALL of this is complicated by the fact that we have two kinds of fragments, eager and max, but fortunately those details can be pushed onto the sorry fool who'll be implementing all this. I wonder who that'll be.)

2. Test, enable, and continue to develop the coll sm module. Using this module will avoid the p2p unexpected message queue explosion that we're seeing (at least for collectives with short messages). It nominally has broadcast, barrier, reduce, and allreduce implemented. We really only need to a) test the heck outta them, and b) add gather, scatter, scan, and exscan to the list. All the other collective operations have implicit synchronization and won't run into the unbounded unexpected queue issues. The bcast loop reproducer seemed to work fine for me with the coll sm, but it segv'ed immediately for Ralph. So clearly some work needs to be done.

We think that these two items should be the main features for 1.3.4.

Reply via email to