Skip to content

[consensus] Strict leader reputation with 1 faulty validator at 4k TPS#19336

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

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

Conversation

@danielxiangzl
Copy link
Copy Markdown
Contributor

Summary

  • daniel/latency-baseline-by-skip + daniel/strict-leader combined
  • realistic_env_max_load at ConstTps 4k with 1 faulty validator (last by index, skips 50% of proposals)
  • Strict leader reputation: failure_window_num_validators_multiplier added (default 0, falls back to proposer window)
  • 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 5, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-leader-by-skip branch from 25b75ac to d71ffbd Compare April 6, 2026 17:52
@danielxiangzl danielxiangzl changed the base branch from main to daniel/latency-baseline-by-skip April 6, 2026 17:53
@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.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-leader-by-skip branch from d0184cb to c20182d Compare April 6, 2026 22:17
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-leader-by-skip branch from c20182d to 79aa371 Compare April 6, 2026 23:03
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-leader-by-skip branch 2 times, most recently from e1b0a8c to 4b93869 Compare April 6, 2026 23:48
@danielxiangzl danielxiangzl force-pushed the daniel/latency-baseline-by-skip branch from 4485f9d to 30a41f4 Compare April 6, 2026 23:50
@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-leader-by-skip branch from 4b93869 to f9c944c Compare April 6, 2026 23:50
@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. Sets
failure_window_num_validators_multiplier=50 so failed validators stay
penalized for ~4.7 min instead of the default ~56s.

Also includes the separate failure window field added to
ProposerAndVoterConfig and consensus config plumbing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@danielxiangzl danielxiangzl force-pushed the daniel/latency-strict-leader-by-skip branch from 78398c9 to a9e825c 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 a9e825cd8958042e91596a1b0d57e5a53edad938

two traffics test: inner traffic : committed: 4000.01 txn/s, latency: 408.26 ms, (p50: 300 ms, p70: 300, p90: 600 ms, p99: 1200 ms), latency samples: 74420
two traffics test : committed: 100.00 txn/s, latency: 354.20 ms, (p50: 300 ms, p70: 300, p90: 400 ms, p99: 900 ms), latency samples: 4240
Latency breakdown for phase 0: ["MempoolToBlockCreation: max: 0.157, avg: 0.127", "ConsensusProposalToOrdered: max: 0.154, 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 9854 (avg 0.00) [limit 4], 1.19s no progress at version 1423373 (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 combined with proposer_window_num_validators_multiplier=50 provides continuous downweighting of slow/failing validators without needing the asymmetric strict-classification hack. 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