Skip to content

[do not merge] strict vs lazy voter list mode for payout benchs#4686

Closed
gpestana wants to merge 7 commits intogpestana/stake-tracker_integrationfrom
gpestana/stake-tracker_integration-strict-benches
Closed

[do not merge] strict vs lazy voter list mode for payout benchs#4686
gpestana wants to merge 7 commits intogpestana/stake-tracker_integrationfrom
gpestana/stake-tracker_integration-strict-benches

Conversation

@gpestana
Copy link
Copy Markdown
Contributor

@gpestana gpestana commented Jun 3, 2024

This PR (pls do not merge) adds the benchmarks for the strict voter mode sorting in the voter list and it adds a test that calculates the highest T:: MaxExposurePageSize so that it fits within BlockWeights::get().get(DispatchClass::Normal).max_extrinsic.

Note that:

  • "strict voter mode" means that all the voter nodes in the VoterList are kept up to date and sorted at all stake updates.
  • "lazy voter mode" means the VoterList scores are not updated at nominator stake update (similar to currently in Polkadot/Kusama)
  • the weights for the test without stake-tracker were taken from master.
  • The bench payout_stakers_alive_staked is used to estimate the upper bond weight of both Call::payout_stakers and Call::payout_stakers_by_page.

The results of the test are:

 == Strict VoterList sorting mode
 - Max. page_size: 1984
 - Weight { ref_time: 1470154955707, proof_size: 7505385 }

 == Lazy VoterList sorting mode
 - Max page_size: 2496
 - Weight { ref_time: 1469080809430, proof_size: 9437673 }

 == No stake-tracker
 - Max page_size: 3008
 - Weight { ref_time: 1474536186486, proof_size: 11362971 }

@gpestana gpestana marked this pull request as draft June 3, 2024 17:35
@gpestana
Copy link
Copy Markdown
Contributor Author

gpestana commented Jun 3, 2024

bot bench polkadot-pallet --runtime=westend --pallet=pallet_staking --extrinsic=payout_stakers_alive_staked

@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 3, 2024

@gpestana unknown option '--extrinsic=payout_stakers_alive_staked'

@gpestana
Copy link
Copy Markdown
Contributor Author

gpestana commented Jun 3, 2024

bot bench polkadot-pallet --runtime=westend --pallet=pallet_staking

@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 3, 2024

@gpestana https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6387769 was started for your command "$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=westend --target_dir=polkadot --pallet=pallet_staking. Check out https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment bot cancel 7-87755997-9931-4825-89b6-12ab18a6e21c to cancel this command or bot cancel to cancel all commands in this pull request.

…=westend --target_dir=polkadot --pallet=pallet_staking
@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 3, 2024

@gpestana Command "$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=westend --target_dir=polkadot --pallet=pallet_staking has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6387769 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6387769/artifacts/download.

@gpestana
Copy link
Copy Markdown
Contributor Author

gpestana commented Jun 3, 2024

bot bench polkadot-pallet --pallet=pallet_staking

@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 3, 2024

@gpestana https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6389606 was started for your command "$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=rococo --target_dir=polkadot --pallet=pallet_staking. Check out https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment bot cancel 9-0ded11ca-082e-4635-a3ac-d06847d32533 to cancel this command or bot cancel to cancel all commands in this pull request.

@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 3, 2024

@gpestana Command "$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=rococo --target_dir=polkadot --pallet=pallet_staking has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6389606 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6389606/artifacts/download.

@gpestana
Copy link
Copy Markdown
Contributor Author

gpestana commented Jun 4, 2024

bot bench polkadot-pallet --runtime=westend --pallet=pallet_staking

@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 4, 2024

@gpestana https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6393274 was started for your command "$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=westend --target_dir=polkadot --pallet=pallet_staking. Check out https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment bot cancel 10-7ec9e07a-4aa5-4d3c-bec6-bd1719b22519 to cancel this command or bot cancel to cancel all commands in this pull request.

@gpestana gpestana added the R0-no-crate-publish-required The change does not require any crates to be re-published. label Jun 4, 2024
@gpestana gpestana changed the title [do not merge] strict voter list mode for benchs [do not merge] strict vs lazy voter list mode for payout benchs Jun 4, 2024
…=westend --target_dir=polkadot --pallet=pallet_staking
@command-bot
Copy link
Copy Markdown

command-bot bot commented Jun 4, 2024

@gpestana Command "$PIPELINE_SCRIPTS_DIR/commands/bench/bench.sh" --subcommand=pallet --runtime=westend --target_dir=polkadot --pallet=pallet_staking has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6393274 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6393274/artifacts/download.

@paritytech-cicd-pr
Copy link
Copy Markdown

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable 2/3
Logs: https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6397397

@gpestana
Copy link
Copy Markdown
Contributor Author

closing as it's not relevant anymore.

@gpestana gpestana closed this Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

R0-no-crate-publish-required The change does not require any crates to be re-published.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants