• asynchronous rob's avatar
    Scheduler Module (#1162) · 1696982d
    asynchronous rob authored
    
    
    * 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]>
    1696982d