Skip to content

Update elastic scaling documentation#9677

Merged
sandreim merged 38 commits intomasterfrom
sandreim/elastic_scaling_docs
Sep 10, 2025
Merged

Update elastic scaling documentation#9677
sandreim merged 38 commits intomasterfrom
sandreim/elastic_scaling_docs

Conversation

@sandreim
Copy link
Copy Markdown
Contributor

@sandreim sandreim commented Sep 8, 2025

Closes #9677

Add docs and remove MVP.

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
.
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
@sandreim sandreim added the T11-documentation This PR/Issue is related to documentation. label Sep 9, 2025
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
@sandreim
Copy link
Copy Markdown
Contributor Author

sandreim commented Sep 9, 2025

/cmd prdoc generate --bump major

@sandreim sandreim marked this pull request as ready for review September 9, 2025 13:16
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Copy link
Copy Markdown
Member

@eskimor eskimor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well written. Thank you!

//! This commitment is implemented via `UMP` signals, which rely on the upward message passing channel that
//! is used by parachains to send messages to the relay chain.
//!
//! The only required change for the runtime is enabling the `experimental-ump-signals` feature of the `parachain-system`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this still experimental? When will we no longer make it experimental?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it is not enabled on Polkadot yet. I plan to remove this feature completely as soon as RFC103 is enabled on Polkadot.

@sandreim sandreim added the A4-backport-stable2509 Pull request must be backported to the stable2509 release branch label Sep 9, 2025
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
@sandreim sandreim changed the title [WIP] Update elastic scaling documentation Update elastic scaling documentation Sep 9, 2025
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Sajjon
Sajjon previously requested changes Sep 9, 2025
Copy link
Copy Markdown
Contributor

@Sajjon Sajjon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I left some suggestions for improvement. There is a minor lack of consistency between 6s and 6 seconds also I think it is good practice to use Three cores instead of 3 cores, I think the "threshold" is numbers less than 10 one typically writes as words?

Good job! :)

sandreim and others added 5 commits September 9, 2025 17:39
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
@sandreim
Copy link
Copy Markdown
Contributor Author

Addressed all feedback. @alindima @skunert can I get some ✅ ?

Copy link
Copy Markdown
Contributor

@skunert skunert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Niice!

@alindima
Copy link
Copy Markdown
Contributor

We should also add a note about customizing the block authoring duration on the collator

@sandreim
Copy link
Copy Markdown
Contributor Author

We should also add a note about customizing the block authoring duration on the collator

What is customisable that is requirement ?

@alindima
Copy link
Copy Markdown
Contributor

We should also add a note about customizing the block authoring duration on the collator

What is customisable that is requirement ?

The omni node hardcodes this to 2 seconds. If a parachain wants to have 12 cores with 500ms block times, they need to lower this. We probably need to add this parameter to the omni node CLI. WDYT @skunert ?

@sandreim
Copy link
Copy Markdown
Contributor Author

sandreim commented Sep 10, 2025

We should also add a note about customizing the block authoring duration on the collator

What is customisable that is requirement ?

The omni node hardcodes this to 2 seconds. If a parachain wants to have 12 cores with 500ms block times, they need to lower this. We probably need to add this parameter to the omni node CLI. WDYT @skunert ?

AFAIK this authoring duration gets adjusted based on this, you don't need to change it.

LE: However it seems to be used only to compute the block production interval, still 2s getting passed to proposer.

@skunert
Copy link
Copy Markdown
Contributor

skunert commented Sep 10, 2025

This is a good point, we currently don't have any description of the timings and how they need to be adjusted. I know that @bkchr is working on dynamic timings and weight adjustments in the runtime. Until that is done, we only have shitty solutions.

For any number of cores, you would need to adjust the weight in your runtime right? Otherwise, how would we know when to stop authoring. This is the proper way to do it. But at the same time, its a problem if someone wants to have these 12 cores. Do we want people to set their runtime weight to 500ms? Probably not. So we would indeed need to handle everything node-side and adjust this authoring_duration. But my gut feeling still says that we should discourage this 12 core use-case and wait with recommending this until we have a proper dynamic approach.

@bkchr
Copy link
Copy Markdown
Member

bkchr commented Sep 10, 2025

The omni node hardcodes this to 2 seconds. If a parachain wants to have 12 cores with 500ms block times, they need to lower this.

They will need to change their weight. This is basically an upper bound on what the node will use. When the block finishes after 500ms, the block production stops before.

This is a good point, we currently don't have any description of the timings and how they need to be adjusted. I know that @bkchr is working on dynamic timings and weight adjustments in the runtime. Until that is done, we only have shitty solutions.

Yes this will be fixed by my work. If anyone right now really needs this, they need to go with the 500ms weight route. There are a lot of considerations to be done, they also need to ensure if they set the weight to 500ms, that they don't prevent e.g. doing runtime upgrades or similar.

@sandreim
Copy link
Copy Markdown
Contributor Author

sandreim commented Sep 10, 2025

The omni node hardcodes this to 2 seconds. If a parachain wants to have 12 cores with 500ms block times, they need to lower this.

They will need to change their weight. This is basically an upper bound on what the node will use. When the block finishes after 500ms, the block production stops before.

For elastic scaling, when we have a full core to fill, wouldn't it be better if we don't limit the weight ? Parachains can run faster collators and fill in more than 500ms ref time with 500ms authorship duration.

@sandreim
Copy link
Copy Markdown
Contributor Author

/cmd fmt

@sandreim sandreim enabled auto-merge September 10, 2025 14:46
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
…/polkadot-sdk into sandreim/elastic_scaling_docs

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
@paritytech-workflow-stopper
Copy link
Copy Markdown

All GitHub workflows were cancelled due to failure one of the required jobs.
Failed workflow url: https://github.com/paritytech/polkadot-sdk/actions/runs/17618872655
Failed job name: fmt

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
@sandreim sandreim added this pull request to the merge queue Sep 10, 2025
Merged via the queue into master with commit 7af791f Sep 10, 2025
235 of 256 checks passed
@sandreim sandreim deleted the sandreim/elastic_scaling_docs branch September 10, 2025 17:31
@paritytech-release-backport-bot
Copy link
Copy Markdown

Successfully created backport PR for stable2509:

paritytech-release-backport-bot bot pushed a commit that referenced this pull request Sep 10, 2025
Closes #9677

Add docs and remove MVP.

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
Co-authored-by: Alin Dima <alin@parity.io>
(cherry picked from commit 7af791f)
EgorPopelyaev pushed a commit that referenced this pull request Sep 11, 2025
Backport #9677 into `stable2509` from sandreim.

See the
[documentation](https://github.com/paritytech/polkadot-sdk/blob/master/docs/BACKPORT.md)
on how to use this bot.

<!--
  # To be used by other automation, do not modify:
  original-pr-number: #${pull_number}
-->

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
Co-authored-by: Alin Dima <alin@parity.io>
github-merge-queue bot pushed a commit that referenced this pull request Sep 25, 2025
Follow-up to #9677 . I think it would be good to add our view on the
slot duration, as it is often confused with the actual block production
interval. This short addition should clarify things a bit.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
paritytech-release-backport-bot bot pushed a commit that referenced this pull request Sep 25, 2025
Follow-up to #9677 . I think it would be good to add our view on the
slot duration, as it is often confused with the actual block production
interval. This short addition should clarify things a bit.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
(cherry picked from commit fbf98c8)
bee344 pushed a commit that referenced this pull request Oct 7, 2025
Follow-up to #9677 . I think it would be good to add our view on the
slot duration, as it is often confused with the actual block production
interval. This short addition should clarify things a bit.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
alvicsam pushed a commit that referenced this pull request Oct 17, 2025
Closes #9677 

Add docs and remove MVP.

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexander Cyon <Sajjon@users.noreply.github.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
Co-authored-by: Alin Dima <alin@parity.io>
alvicsam pushed a commit that referenced this pull request Oct 17, 2025
Follow-up to #9677 . I think it would be good to add our view on the
slot duration, as it is often confused with the actual block production
interval. This short addition should clarify things a bit.

---------

Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A4-backport-stable2509 Pull request must be backported to the stable2509 release branch T11-documentation This PR/Issue is related to documentation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants