If this is not the desired semantics, I would propose that the start
operations are not defined as collective. The end operations remain
collective. Two additional rules are required:
1) Start calls are local, their completion does not depend on the action of
any other process.
2) "End" calls match the preceding "start" call for the same collective
operation. When an "end" call is made, exactly one unmatched "start" call for
the same operation must preceed it.
Lloyd Lewins
Hughes Aircraft Co.,
llewins@msmail4.hac.com