Skip to content

Prio scheduler crate#2

Open
flame4 wants to merge 15 commits intomasterfrom
prio-scheduler-crate
Open

Prio scheduler crate#2
flame4 wants to merge 15 commits intomasterfrom
prio-scheduler-crate

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