When to reach for it
- The input is naturally segmentable and tasks are independent to reduce latency (sectioning).
- Robustness is more important than single execution costs (voting).
/pattern/parallelization/
Independent subtasks are processed in parallel and either merged (sectioning) or the best result is selected via an aggregator (voting).
When to reach for it
When it backfires
The tradeoff
Lower latency and higher robustness are gained against increased integration complexity and multiple execution costs.
Independent sub-tasks run at once, then combine.
The split creates chunks that share implicit context. Workers produce incompatible partial results that can't be merged.
Fix · Validate independence before splitting. If chunks share state, use a pipeline instead of parallelization.
One worker returns a list, another returns a dict. The join step crashes or silently drops data.
Fix · Define a schema contract for every worker output. Reject non-conforming responses before merging.
Next pattern
Search patterns, frameworks, and pages.