# Fan-out/Fan-in

Record: `arch:fan-out-fan-in`
Kind: pattern
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: data processing, parallelism, pipeline
Canonical: https://banes-lab.com/ontology#arch-fan-out-fan-in

## Repair

- Refactored by: Fan Out Work, Fan In Results
- Detected by: serial loop over parallelizable work
- Violated by: independent items processed strictly one at a time
- Measured by: parallelism utilization
- Enforced by: pipeline design review

## requires

- [Independent Work Units](https://banes-lab.com/records/lex/independent-work-units.md)

## reinforces

- [Parallelism](https://banes-lab.com/records/arch/parallelism.md)
- [Throughput](https://banes-lab.com/records/arch/throughput.md)

## enables

- [Parallel Branch Processing](https://banes-lab.com/records/lex/parallel-branch-processing.md)
- [Result Aggregation](https://banes-lab.com/records/lex/result-aggregation.md)

## tensions-with

- [Coordination Overhead](https://banes-lab.com/records/lex/coordination-overhead.md)
- [Serial Item Processing](https://banes-lab.com/records/lex/serial-item-processing.md)

## tensions

- [Fan-out/Fan-in Coordination Overhead](https://banes-lab.com/records/tension/coordination-overhead-fan-out-fan-in.md)
- [Fan-out/Fan-in Serial Item Processing](https://banes-lab.com/records/tension/fan-out-fan-in-serial-item-processing.md)
