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

Prio scheduler crate #2

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open

Prio scheduler crate #2

wants to merge 15 commits into from

Conversation

flame4
Copy link

@flame4 flame4 commented Oct 11, 2024

Problem

Currently the definition and implementation of PrioGraphScheduler and related components is coupled with banking-stage on solana-core crate, with most of useful api availabilty a pub(crate), so it's hard to reuse.

Summary of Changes

  • Extract PrioGraphScheduler as indepent component to use.
  • The SchedulerController handles a lot of forwarding and decision making logic, which is not related to scheduer itself, so just left in solana_core.
  • Scheduler is coupled with ImmutableDeserializedPacket. To avoid circular dependencies, just raise up a Trait type DeserializableTxPacket and let ImmutableDeserializedPacket impls this trait. It also helps modularity of solana crate.
  • Impls a unified IdGenerator to replace TransactionIdGenerator and BatchIdGenerator, which is quite same.
  • two duplicated things: TARGET_NUM_TRANSACTIONS_PER_BATCH and ReadWriteAccountSet.
  • other codes, basically speaking, just copy-paste of the scheduler implementations.

@flame4 flame4 force-pushed the prio-scheduler-crate branch from 6cf9bdb to 064d9a1 Compare October 11, 2024 13:03
@flame4 flame4 force-pushed the prio-scheduler-crate branch from 04e7590 to 32ce898 Compare October 14, 2024 07:07
@flame4 flame4 requested review from raindust and yz89 October 15, 2024 02:02
@flame4 flame4 force-pushed the prio-scheduler-crate branch 2 times, most recently from 739519a to b118a73 Compare October 16, 2024 02:52
@flame4 flame4 force-pushed the prio-scheduler-crate branch from b118a73 to 6ab80ef Compare October 16, 2024 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants