Skip to content

[consensus] Strict leader + latency-weighted reputation with 1 faulty validator at 4k TPS#19342

Closed
danielxiangzl wants to merge 1 commit into
daniel/latency-baseline-by-skipfrom
daniel/latency-strict-weighted-by-skip
Closed

[consensus] Strict leader + latency-weighted reputation with 1 faulty validator at 4k TPS#19342
danielxiangzl wants to merge 1 commit into
daniel/latency-baseline-by-skipfrom
daniel/latency-strict-weighted-by-skip

Conversation

@danielxiangzl
Copy link
Copy Markdown
Contributor

Summary

  • Combines daniel/latency-strict-leader-by-skip (failure_window=50x) + daniel/latency-weighted-leader-by-skip (latency-weighted heuristic)
  • Both strict failure penalization AND latency-weighted proposer selection active
  • 1 faulty validator, 4k TPS, no fullnodes, 10 min
  • Prototype/experiment code — not for merge to main

Test plan

🤖 Generated with Claude Code

@danielxiangzl danielxiangzl added the CICD:run-forge-e2e-perf Run the e2e perf forge only label Apr 6, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-weighted-by-skip branch from dc0bf60 to 9f51af9 Compare April 6, 2026 20:19
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-weighted-by-skip branch from 9f51af9 to 06965c0 Compare April 6, 2026 22:18
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-weighted-by-skip branch from 06965c0 to 48f5ea3 Compare April 6, 2026 23:04
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-weighted-by-skip branch 3 times, most recently from 19480d8 to 789e8e1 Compare April 6, 2026 23:51
@danielxiangzl danielxiangzl changed the base branch from main to daniel/latency-baseline-by-skip April 6, 2026 23:52
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

On top of the baseline latency experiment. Combines:
- Strict leader reputation (failure_window=50x)
- Latency-weighted leader selection (use_latency_weighted_leader=true)

Both features enabled in the max_load test genesis/node config.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-weighted-by-skip branch from f721d9a to 29a7aef Compare April 22, 2026 18:38
@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite realistic_env_max_load success on 29a7aef36aeb8ef414b76c18e86cf58c82bac579

two traffics test: inner traffic : committed: 4000.01 txn/s, latency: 410.80 ms, (p50: 300 ms, p70: 300, p90: 600 ms, p99: 1200 ms), latency samples: 74760
two traffics test : committed: 100.00 txn/s, latency: 343.99 ms, (p50: 300 ms, p70: 300, p90: 400 ms, p99: 1000 ms), latency samples: 4260
Latency breakdown for phase 0: ["MempoolToBlockCreation: max: 0.151, avg: 0.123", "ConsensusProposalToOrdered: max: 0.157, avg: 0.153", "ConsensusOrderedToCommit: max: 0.016, avg: 0.015", "ConsensusProposalToCommit: max: 0.170, avg: 0.168"]
Max non-epoch-change gap was: 1 rounds at version 11694 (avg 0.00) [limit 4], 1.21s no progress at version 4334975 (avg 0.06s) [limit 15].
Max epoch-change gap was: 0 rounds at version 0 (avg 0.00) [limit 4], 0.00s no progress at version 0 (avg 0.00s) [limit 16].
Test Ok

@danielxiangzl
Copy link
Copy Markdown
Contributor Author

Closing in favor of the consolidated weighted-leader approach in #19343 (canonical) + #19341 (forge experiment). The fixed LatencyWeightedHeuristic supersedes both strict-only and strict+weighted variants — slow/failing validators are now penalized continuously through latency scaling rather than via the asymmetric failure-window classification. See discussion in #19343.

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

Labels

CICD:run-forge-e2e-perf Run the e2e perf forge only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant