-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add new variant of persisted_validation_data runtime API for elastic scaling #3776
Description
We need to introduce a new RuntimeAPI that accounts for a parachain having multiple cores assigned. In it's current form it's signature looks like this:
fn persisted_validation_data(para_id: ParaId, assumption: OccupiedCoreAssumption)
But, after merging #3479 the semantics of the assumption are changed and refer to a group of cores rather than a single core. Currently, the way the assumption works in practice is that collators can be optimistic around candidates pending availability on certain cores. But with elastic scaling parachains the runtime enacts the full chain of pending availability candidates rather than individual ones.
For example, if the following chained candidates A,B,C are pending availability at RCB N. We delay enacting B and C even if they became available at N+1 until A has become available.
So collators need to bet on the length of the chain that gets included in the next block, such that they can properly build the next candidates and avoiding doing useless work.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status