-
Notifications
You must be signed in to change notification settings - Fork 69
CoreJam #31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
CoreJam #31
Changes from 1 commit
Commits
Show all changes
50 commits
Select commit
Hold shift + click to select a range
006a9ff
Add CoreJam draft
gavofyork d7ec165
weight and prune
gavofyork 4384db4
Prerequisites, initial checks, migration, a few other bits.
gavofyork a096282
Rename for proposing.
gavofyork e97e109
Typos and clarifications
gavofyork 7f9aa0b
Ordering: Soft and Hard
gavofyork e4a117b
Remove superfluous
gavofyork c4f2e0d
Correct number
gavofyork 8e99271
Tidy ordering
gavofyork 607963e
More clarity
gavofyork e71b6ce
Cleanups
gavofyork 3c1d2e5
More cleanups
gavofyork 329e24f
Compatibility
gavofyork dae162c
More cleanups
gavofyork b2a05ba
Register becomes Report
gavofyork 6d5a175
UMP/HRMP compat
gavofyork 5fd33ac
More on copmat
gavofyork eb7dab2
Move para
gavofyork 0b5b7ab
Typo
gavofyork 26fd0ed
Update text/0031-corejam.md
gavofyork ddbb534
Remove , introduce Beefy and state roots
gavofyork 3d6859d
Update text/0031-corejam.md
gavofyork e4110e6
Update text/0031-corejam.md
gavofyork 85db6ec
Update text/0031-corejam.md
gavofyork eb93fda
Update text/0031-corejam.md
gavofyork d6bb203
Update text/0031-corejam.md
gavofyork 1cb5f0d
Update text/0031-corejam.md
gavofyork 95987d3
Update text/0031-corejam.md
gavofyork d87f686
Update text/0031-corejam.md
gavofyork d64f568
Apply suggestions from code review
gavofyork a1eaff8
tweaks
gavofyork 3a368ac
Merge branch 'gav-corejam' of https://github.com/polkadot-fellows/RFC…
gavofyork 52fa112
Add host function `transfer`
gavofyork 26ed3f2
Smart contract stuff
gavofyork f0dea5e
Ensure that context is checked prior to is_authorized
gavofyork 62436a6
fix
gavofyork 8b321a7
Update text/0031-corejam.md
gavofyork e32333d
Update text/0031-corejam.md
gavofyork e33e467
Update text/0031-corejam.md
gavofyork 4d45769
No more ICT
gavofyork aaaaae3
Merge branch 'gav-corejam' of https://github.com/polkadot-fellows/RFC…
gavofyork 9360c19
Update 0031-corejam.md
gavofyork 23470a2
Update 0031-corejam.md
gavofyork 7d34d4a
Explanation
gavofyork 259e466
Rename Work Class -> Service
gavofyork cfea18f
Explanation
gavofyork 6d27b30
Note about lookup
gavofyork 0123124
Merge branch 'gav-corejam' of https://github.com/polkadot-fellows/RFC…
gavofyork c15ef01
Terminology
gavofyork 9e1b05e
Update text/0031-corejam.md
gavofyork File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need the
core_index? IMO we should not "leak" theCoreIndexhere. Tasks/Parachains/Whatever should not care on whatCorethey are executed.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a good reason not to provide the core index?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, not really ;)
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was very happy to see the
CoreIndexhere, because I think it is indeed needed. Consider the case of elastic scaling/using multiple cores. By providing aCoreIndexwe can ensure that packages are not conflicting, as we can make it so that it is authorized on one core, but not the other.This works well with bulk, where core time is bought on a specific core. It does less so with on-demand (but no longer provided anyway), where currently the implementation will just pick any core. For bulk this should really work though: Given that we have access to relay chain context, we could abstract away from the actual index and do logic like: This is the third core index, that is assigned to our task -> good. So the exact core index would not matter (and the authorizer would not need to change), all that needs to stay stable is ordering.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've previous discussions with @rphmeier in which we all kinda thought relay chain block producers should allocate candidate reciepts to cores right after backing aka during "reporting". As I noted, we could even allocate candidate reciepts to cores after availability during inclusion/integration. It's clear this complicates availability and the bit-core mapping though.
I'd previously favored backers making "work packages" from parachain blocks, with an extra collator layer being another option like corejam implicitly proposes, but these both demand more work from backers, which sounds like a more impenetrable barrier.