Skip to content

perf(factory): cap firmware identification concurrency - #398

Draft
cfilipescu wants to merge 1 commit into
256foundation:masterfrom
cfilipescu:fix/staged-discovery-concurrency
Draft

cfilipescu wants to merge 1 commit into
256foundation:masterfrom
cfilipescu:fix/staged-discovery-concurrency

Conversation

@cfilipescu

Copy link
Copy Markdown
Collaborator

Summary

  • Add a separate firmware-identification concurrency limit to MinerFactory scans.
  • Let address workflows continue through TCP probing while firmware identification remains bounded.
  • Preserve existing behavior when callers do not configure the new limit.

This supports the UMC scanner's staged scan: it schedules up to 512 address workflows while limiting firmware identification to 128 concurrent miners. On the test network, this avoided the long full-range retry and scanned one /22 in 10.1 seconds (251 devices) and the combined 12 /22 ranges in 87.8–97.3 seconds (5,366–5,407 devices). Results varied between consecutive runs, and the timings include device reads.

Validation

  • cargo fmt -- --check
  • cargo check -p asic-rs --all-features --locked
  • cargo check --features engineering -p rig-runner-cli with this branch patched locally
  • Release scan benchmarks on one /22 and the combined 12 /22 ranges

@cfilipescu
cfilipescu marked this pull request as draft September 28, 2026 18:45

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant