Skip to content

docs(audits): profile parallel signature computation scaling (#1085)#3943

Merged
oferchen merged 1 commit into
masterfrom
audits/parallel-signature-scaling
May 7, 2026
Merged

docs(audits): profile parallel signature computation scaling (#1085)#3943
oferchen merged 1 commit into
masterfrom
audits/parallel-signature-scaling

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 7, 2026

Summary

  • Document the parallel signature path entry points in crates/signature/src/ (parallel.rs, layout.rs, block_size.rs) and cross-reference the SIMD batching landed under Rename local copy partial directory setter #1024.
  • Frame the throughput-vs-thread-count question (compute-bound versus memory-bandwidth-bound) and specify a criterion bench across 1/2/4/8/16 threads with 4K/8K/16K block sizes on a 100 MiB in-memory buffer.
  • Predict memory-bandwidth saturation around 8 threads on commodity DDR4 dual-channel and recommend capping rayon workers via MAX_SIGNATURE_THREADS plus renaming the env override to PARALLEL_SIGNATURE_THRESHOLD.

Test plan

  • Land crates/signature/benches/parallel_scaling.rs and run it inside the rsync-profile podman container with taskset -c 0-15.
  • Capture perf stat -e cycles,instructions,cache-misses,LLC-loads,LLC-load-misses per thread count for Md5 and Xxh3.
  • Apply the decision rules in section 5 against the measured curves and update MAX_SIGNATURE_THREADS / PARALLEL_SIGNATURE_THRESHOLD accordingly.

Replace the prior scaling audit with a concise plan focused on
empirically locating the parallel signature path's thread-count
ceiling. Document the parallel.rs entry points, frame the
compute-bound versus memory-bandwidth-bound question, specify a
criterion bench across 1/2/4/8/16 threads with 4K/8K/16K block
sizes, predict saturation around 8 threads on commodity DDR4, and
recommend capping rayon workers and renaming the threshold env
override to PARALLEL_SIGNATURE_THRESHOLD.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 7, 2026
@oferchen oferchen merged commit c18478d into master May 7, 2026
8 checks passed
@oferchen oferchen deleted the audits/parallel-signature-scaling branch May 8, 2026 03:47
oferchen added a commit that referenced this pull request May 18, 2026
…3943)

Replace the prior scaling audit with a concise plan focused on
empirically locating the parallel signature path's thread-count
ceiling. Document the parallel.rs entry points, frame the
compute-bound versus memory-bandwidth-bound question, specify a
criterion bench across 1/2/4/8/16 threads with 4K/8K/16K block
sizes, predict saturation around 8 threads on commodity DDR4, and
recommend capping rayon workers and renaming the threshold env
override to PARALLEL_SIGNATURE_THRESHOLD.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant