Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Draft
wants to merge 7 commits into
base: gpestana/stake-tracker_integration
Choose a base branch
from

Conversation

gpestana
Copy link
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
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

command-bot bot commented Jun 3, 2024

@gpestana unknown option '--extrinsic=payout_stakers_alive_staked'

@gpestana
Copy link
Contributor Author

gpestana commented Jun 3, 2024

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

@command-bot
Copy link

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

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
Contributor Author

gpestana commented Jun 3, 2024

bot bench polkadot-pallet --pallet=pallet_staking

@command-bot
Copy link

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

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
Contributor Author

gpestana commented Jun 4, 2024

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

@command-bot
Copy link

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-silent Changes should not be mentioned in any release notes 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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
R0-silent Changes should not be mentioned in any release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants