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

v2.1: Scheduler Frequency Fixes (backport of #4545) #4577

Merged
merged 5 commits into from
Jan 23, 2025

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Jan 22, 2025

Problem

  • Scheduler is doing work in too large of chunks causing issues in block-packing

Summary of Changes

  • Make the limit of transactions scanned in prio-graph does not exceed 1k
  • Receive only up to 5k packets in any single call
  • Hold decision behaves like the Consume decision (no timeout if non-empty)
  • receive completed transactions before scheduling

Fixes #


This is an automatic backport of pull request #4545 done by [Mergify](https://mergify.com).

@mergify mergify bot requested a review from a team as a code owner January 22, 2025 14:30
@mergify mergify bot added the conflicts label Jan 22, 2025
Copy link
Author

mergify bot commented Jan 22, 2025

Cherry-pick of 6e93845 has failed:

On branch mergify/bp/v2.1/pr-4545
Your branch is up to date with 'origin/v2.1'.

You are currently cherry-picking commit 6e93845fb.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	both modified:   core/src/banking_stage/transaction_scheduler/prio_graph_scheduler.rs
	deleted by us:   core/src/banking_stage/transaction_scheduler/receive_and_buffer.rs
	both modified:   core/src/banking_stage/transaction_scheduler/scheduler_controller.rs

no changes added to commit (use "git add" and/or "git commit -a")

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@apfitzge apfitzge force-pushed the mergify/bp/v2.1/pr-4545 branch from a89febf to 8a69742 Compare January 22, 2025 14:50
@bw-solana
Copy link

Approving high impact back port.

Risk seems limited to handling smaller and batches at various levels of scheduling and potentially some unanticipated packing inefficiency, but there are already enough inefficiencies that there is known risk with not changing.

Changes have been de-risked by running on staked mainnet canaries and analyzing metrics during leader slots.

@apfitzge apfitzge merged commit 3e02a1d into v2.1 Jan 23, 2025
28 checks passed
@apfitzge apfitzge deleted the mergify/bp/v2.1/pr-4545 branch January 23, 2025 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants