Skip to content
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

Multi-Block Sequential Phragmén #465

Open
kianenigma opened this issue Jan 18, 2021 · 0 comments
Open

Multi-Block Sequential Phragmén #465

kianenigma opened this issue Jan 18, 2021 · 0 comments
Labels
I5-enhancement An additional feature request. I6-meta A specific issue for grouping tasks or bugs of a specific category.

Comments

@kianenigma
Copy link
Contributor

kianenigma commented Jan 18, 2021

As paritytech/substrate#7908 is merged, we now have some extensible traits to express more complicated elections in a generic way.

An important and interesting one to build is a multi-block implementation of seq-phragmen. Once we have this, we can use this as the fallback so that the chain will not stall, but rather probably disallow any extrinsic due to weight limit for a few blocks.

A simple way to think about this is to break the outer loop of phragmen between blocks and execute n iterations per block, write intermediary values, pick up in the next block, and so on.

To my future self or anyone who'd take this, I recommend first doing an analysis of the weight of storage read/write operations and determine the optimal IO/CPU ratio that we can support in the runtime. Unlikely, but perhaps this analysis leads to us realizing that multi-block phragmen is not feasible after all.

For example, if it might turn out that reading and writing all the intermediary values already takes up the entire block weight while leaving non or very little space left for actual computation. In which case it might still be possible to implement this, but it would be substantially harder, as you can't even execute one iteration per block.

@juangirini juangirini transferred this issue from paritytech/substrate Aug 24, 2023
@the-right-joyce the-right-joyce added I5-enhancement An additional feature request. I6-meta A specific issue for grouping tasks or bugs of a specific category. and removed J0-enhancement labels Aug 25, 2023
helin6 pushed a commit to boolnetwork/polkadot-sdk that referenced this issue Feb 5, 2024
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Mar 26, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Mar 26, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit 03ef763.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Mar 27, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Mar 27, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit 8343bcb.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (paritytech#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (paritytech#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
bkchr pushed a commit that referenced this issue Apr 10, 2024
* fixed clippy warnings

* Revert "Actually use pinned nightly version when building runtimes (#465)"

This reverts commit dedddb6.

* Revert "Pin Rust Nightly Version (#420)"

This reverts commit 8902ac2.

* fix after revert

* another fix after revert

* more clippy fixes
jonathanudd pushed a commit to jonathanudd/polkadot-sdk that referenced this issue Apr 10, 2024
…h#465)

* try to fix build

* use pinned nightly for in stable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I5-enhancement An additional feature request. I6-meta A specific issue for grouping tasks or bugs of a specific category.
Projects
Status: 📕 Backlog
Development

No branches or pull requests

2 participants