Collectives communicate data among all processes of a group. As an example, consider two common collectives: broadcast and reduction. Their semantics require no flow
control to exchange messages (as long as underlying point-to-point paths are disjoint
or their messages are separated by internal barriers). The second rule (R2) for flow
control elimination requires absence of a common receiver. Broadcast meets this criterion, but reduction only meets it under a special case (C2), which allows a common
receiver for collectives. If the process group synchronizes prior to the collective and
no asynchronous communication is in flight across it (see R1), then no in-flight pointto-point messages before nonmonitored message transfers may exist—in other words,
no such message endpoints (even from synchronous point-to-point communication) can
cross the collective.