Skip to content
Commit 04c86030 authored by asynchronous rob's avatar asynchronous rob Committed by GitHub
Browse files

Scheduler Module (#1162)



* scheduler module skeleton

* update scheduler skeleton to match latest version of guide

* better session change notification

* add mock randomness and fix test compilation

* shuffle validators into groups

* finish implementing session change logic for scheduler

* tweak core assignment type to track retries of parathread

* reframe queued parathread core as offset

* implement initialzation and finalization routines

* implement parathread claim queuing

* implement core_para

* implement the group_validators routine and fix errors

* add a reason for freeing cores

* implement `schedule` function

* add some docs to the scheduled function

* implement `occupied` helper

* implement availability predicate

* fix some warnings

* integrate scheduler into initializer

* integrate scheduler into mock module

* avoid conflict with Substrate's scheduler storage

* add parathreads index to paras module

* implement parathreads map in paras module

* add is_parathread to paras

* test adding parathread claim

* test that you cannot add claims when no parathread cores exist

* check session change parathread queue pruning

* test validator shuffling

* add allow_unused to scheduler items

* add test for scheduling

* add some more tests for scheduling logic

* test core rotation

* check parathread claim pruning after retries

* add bound notes

* Apply suggestions from code review

Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
Co-authored-by: default avatarBernhard Schuster <[email protected]>

* more suggestions from review

* test availability predicate, add box to please compiler

* add changes to guide

Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
Co-authored-by: default avatarBernhard Schuster <[email protected]>
parent 053bfc2d
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment