Intent: Allows for efficient load balancing for parallel computers.
The idea behind the PipelinePattern is to split a large task into
a sequence of independent small chunks and to distribute these chunks
a processing pipeline of several "processors".
This pattern requires a sophisticated synchronization of the various
processing stages (MIMD processing) or a global clock for syncronization
(SIMD and hardware).
The pattern is frequently used on the hardware level for microprocessors
(these famous N-stage pipelines of the Pentium-X and RISC processors).
It is also used in signal processing (DSP) and data flow computing.
I have seen a real-time Radar processing system build this way, and
a distributed compiler pipeline (scanner/parser/optimizer/code generator).
But applying this pattern to MIMD parallel computers is relatively difficult.
It is much easier to use the FarmPattern.
I haven't found a systematic treatment of patterns in parallel programming yet. If you are interest, please contact me (FrankBergmann) or check at
http://www.fraber.de/bap/ for a parallel operating system based on these