docs(design): defer ABW-2/3/4 pending BR-3j.f bench evidence (ABW-1 audit closure)#4673
Merged
Merged
Conversation
Discharges the ABW-1 audit's recommendation (PR #4670, section 4) to skip the pipelined verify/write design for apply_batch_parallel until bench evidence shows verify and write costs within 2x of each other on a production-relevant workload cell. - Recaps the ABW-1 quantified speedup table (1.13x balanced, 1.50x CPU-bound, 1.03x I/O-bound, ~0x single-file). - Documents why deferring the design (not just the implementation) is the right call: peak benefit is workload-dependent, complexity-to- payoff is poor in the measured cells, and the PIP-3+5 dispatch heuristic (PR #4666) already gates the degenerate single-file case out of parallel-receive-delta. - Names BR-3j.f (#2508) as the gating re-bench task and lifts the audit's decision gate verbatim. - Preserves the option: per-file Mutex is the real bottleneck; a future multi-threaded-per-file writer or a CPU-bound verify regime would re-open ABW-2.
This was referenced May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/design/abw-2-pipelined-verify-write-deferred-2026-05-21.md, a closure note that defers ABW-2 (test: add tests for SHORT_SUM_LENGTH vs SUM_LENGTH phase toggle #2571), ABW-3 (fix: symlink itemize never reports size changes #2572), and ABW-4 (fix: wire --ignore-existing, --existing, --max-delete into server path #2573) pending BR-3j.f (feat(daemon): add max verbosity parsing and enforcement #2508) re-bench evidence.docs/audits/abw-1-apply-batch-verify-write-overlap-2026-05-21.md, PR docs(audit): apply_batch_parallel verify-vs-write overlap potential (ABW-1) #4670, section 4) to skip the pipelined verify/write design until bench data shows0.5 <= verify_wall/write_wall <= 2.0on a production-relevant workload cell.crates/engine/src/concurrent_delta/parallel_apply.rsforapply_batch_parallel(515-542),FileSlot::ingest(248-258), andverify_chunk(632-652).Why defer
apply_batch_parallelhas zero production callers today (per RJN-1, PR docs(audits): apply_chunk_parallel call sites and per-chunk dispatch benefit (RJN-1) #4656). The PIP-3+5 dispatch heuristic (PR perf(transfer): enable parallel receive-delta by default via Path B heuristic (PIP-3 + PIP-5) #4666) gates single-file batches out of parallel-receive-delta entirely, so the degenerate case is already off the hot path.What unblocks the work
BR-3j.f (#2508) extends
crates/engine/benches/parallel_receive_delta_perf.rsto emitverify_wallandwrite_wallper workload cell. The doc lifts the audit's decision gate verbatim: ratio in[0.5, 2.0]proceeds to ABW-2; outside that range closes out the line of work inproject_apply_batch_write_serial.md.Closure shape
deferred pending BR-3j.f bench evidence.Mutex<FileSlot>is named as the real bottleneck; a future multi-threaded-per-file writer or a CPU-bound verify regime would re-open ABW-2. Both flagged as out-of-scope future options so contributors with bench data know which assumptions this closure rests on.Test plan
cargo fmt --all(no source files changed)