Coretime Chain: mitigate behaviour with many assignments on one core#434
Merged
fellowship-merge-bot[bot] merged 7 commits intoAug 15, 2024
Merged
Conversation
eskimor
approved these changes
Aug 15, 2024
eskimor
approved these changes
Aug 15, 2024
bkchr
approved these changes
Aug 15, 2024
Contributor
bkchr
left a comment
There was a problem hiding this comment.
When the relay chain accepts multiple assignments, we should make the XCM call generation more flexible and not just assume that 28 the magic number will always work. Thus, I see no need to keep the chunking right now.
Co-authored-by: Bastian Köcher <[email protected]>
Contributor
Author
|
/merge |
Contributor
|
Enabled Available commands
For more information see the documentation |
github-merge-queue Bot
pushed a commit
to paritytech/polkadot-sdk
that referenced
this pull request
Oct 21, 2024
) Fixed in Polkadot and Kusama in polkadot-fellows/runtimes#434 and this PR just adds to testnets. We can handle a maximum of 28 assignments inside one XCM, while it's possible to have 80 (if a region is interlaced 79 times). This can be chunked on the coretime chain side but currently the scheduler on the relay makes assumptions that means we can't send more than one chunk for a given core. This just truncates the additional assignments until we can extend the relay to support this. This means that the first 27 assignments are taken, the final 28th is used to pad with idle to complete the mask (the relay also assumes that every schedule is complete). Any other assignments are dropped. --------- Co-authored-by: Kian Paimani <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We can handle a maximum of 28 assignments inside one XCM, while it's possible to have 80 (if a region is interlaced 79 times).
This can be chunked on the coretime chain side but currently the scheduler on the relay makes assumptions that means we can't send more than one chunk for a given core.
I've made a mitigation here that requires no sdk release, but it just truncates the additional assignments until we can extend the relay to support this. This means that the first 27 assignments are taken, the final 28th is used to pad with idle to complete the mask (the relay also assumes that every schedule is complete). Any other assignments are dropped.