node, chain: parallel aggregate submission for #907 - #919
Merged
Conversation
3 tasks
Contributor
|
Reviewed PR #919. No blocking findings from my pass. The change correctly moves aggregate submission off the single dedicated Validation:
LGTM from me. |
Document that lean_pq_sig_aggregated_signatures_building_time_seconds measures per-att_data wrap time inside computeAggregatedSignatures, not the XMSS STARK worker. Point operators at zeam_aggregate_worker_duration_seconds for end-to-end FFI cost.
ch4r10t33r
force-pushed
the
fix/issue-907-parallel-aggregate
branch
from
May 24, 2026 18:24
6fa31fe to
fa84f37
Compare
zclawz
approved these changes
May 24, 2026
zclawz
left a comment
Contributor
There was a problem hiding this comment.
Approved. I re-checked the current head after the force-push; the tree matches the version I reviewed, with no new diff from my prior pass.
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
std.Io.Threaded(concurrent_limit=1) with bounded non-blocking submits onto the sharedThreadPool(aggregate_max_inflight=4).cloneAndRelease, so saturated workers do not waste deep clones.zeam_aggregate_skip_total{reason="spawn_failed"}when ThreadPool enqueue fails (never fall back to inline ~10s FFI on the libxev thread).lean_pq_sig_aggregated_signatures_building_time_secondsmeasures per-att_datawrap time insidecomputeAggregatedSignatures, not the XMSS STARK worker; operators should usezeam_aggregate_worker_duration_secondsfor end-to-end FFI cost (#907).Context
On the ansible devnet, zeam aggregators were dropping ~50% of slot triggers as
in_flightbecause the XMSS FFI takes ~11s while the slot interval is ~6s and only one aggregate worker could run at a time (#907). Live logs onzeam_8with a #916-era image showed the skip rate improved to ~10%, but publish lag andtimely=nonemerge timing remain separate follow-ups.This branch is based on current
main(includes #908 trivial-input pre-filter) and supersedes the open #916 branch for review/merge.Test plan
zig build test --summary allzeam_8) and confirmzeam_aggregate_skip_total{reason="in_flight"}rate drops vs pre-parallelize aggregation as an aggregator #916 baselinezeam_aggregate_worker_duration_secondsp50 stays ~10s for multi-sig inputs (parallelism helps throughput, not per-run FFI cost)zeam_aggregator_publish_aggregations_totalcontinues incrementing on duty subnet under load