As we consider inter-communicator collective operations, this becomes a more
important issue. This is because, one (stated) use of inter-communicators is
to support the data-flow style of programming. This style naturally involves
groups of processors in a pipeline. This pipeline should be loosedly coupled
to maximize operlap between stages, and minimize pipeline stalls. A programmer
will naturally wish the implementation of collective operations between
pipeline stages to provide flow control, while minimizing coupling.
Note: the programmer may also need/wish to be able to specify the amount of
buffering between pipeline stages. If collective operations are implemented
using the standard send there may be no buffering between stages (if the
standard mode doesn't buffer). This leads to pipelines which are too tightly
coupled, leading to excessive stalling, or lack of overlap between stages.
Lloyd Lewins
Hughes Aircraft Co.
llewins@msmail4.hac.com