A parallel reducer preserves defined results when reduction work is split across concurrent fold tasks. Its behavior must account for fold combination and concurrent state, not only sequential reduction. section 7.1.2
A parallel reducer must satisfy two central conditions:
- Use associative semantics: independently reduced chunks must combine without changing the intended result. section 7.1.2
- Make reducer state thread-safe, because fork-join workers may access it concurrently. section 7.1.2
- Provide fold support through a folder or CollFold implementation; a reducer wrapper alone can silently prevent parallelism. section 7.1.2
Parallel dropping
A sequential drop operation cannot be divided naively: dropping ten items from every chunk changes the result. A custom pdrop folder defines chunk-aware state and produces the stable sum 1222840, while a stateful transducer yields varying sums.
