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

bitfield-distribution: use unbounded channels for own bitfields #825

Open
sandreim opened this issue May 12, 2022 · 2 comments
Open

bitfield-distribution: use unbounded channels for own bitfields #825

sandreim opened this issue May 12, 2022 · 2 comments
Labels
I9-optimisation An enhancement to provide better overall performance in terms of time-to-completion for a task.

Comments

@sandreim
Copy link
Contributor

sandreim commented May 12, 2022

Bitfield gossiping is handled here.

  • we can safely prioritise our own bitfields by sending them over the unbounded channel to the network-bridge.
  • alternatively we can send all bitfields via unbounded channel, but we limit them by an arbitrary value per relay block (spam needs to also be considered); when the limit is reached we use the bounded channel.

This would make availability faster in situations when the network-bridge is clogged by too many messages:

Screenshot 2022-05-12 at 13 01 16

@eskimor
Copy link
Member

eskimor commented May 12, 2022

If bitfields are lagging, this will reduce parachain block production and will thus help reduce load on nodes - which is good! If we want bitfields to propagate faster we have to look into performance optimizations, bypassing natural back pressure will likely make matters worse.

Prioritizing own bitfields might make sense, but I am still a bit uneasy about it. We need to make sure nodes are doing sensible stuff when close to overload. Bitfields in particular are a perfect point in the system to back-pressure, because almost no work will be wasted, things just get slower.

This means if we find bitifields to be delayed because of load on the network bridge, then we should be looking into reducing that load.

@drahnr
Copy link

drahnr commented May 12, 2022

I think this is a short term solution, created for #824 mid-term

vstakhov referenced this issue in paritytech/polkadot May 12, 2022
@Sophia-Gold Sophia-Gold transferred this issue from paritytech/polkadot Aug 24, 2023
@the-right-joyce the-right-joyce added I9-optimisation An enhancement to provide better overall performance in terms of time-to-completion for a task. and removed I10-optimisation labels Aug 25, 2023
claravanstaden pushed a commit to Snowfork/polkadot-sdk that referenced this issue Dec 8, 2023
helin6 pushed a commit to boolnetwork/polkadot-sdk that referenced this issue Feb 5, 2024
Change to the README.md instruction to run the node with the "release" folder instead of the "debug" folder.
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 8, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 9, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
serban300 pushed a commit to serban300/polkadot-sdk that referenced this issue Apr 10, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
bkchr pushed a commit that referenced this issue Apr 10, 2024
* make finality verifier pallet instantiable

* try to fix benchmarks

* fix benchmarks compilation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I9-optimisation An enhancement to provide better overall performance in terms of time-to-completion for a task.
Projects
None yet
Development

No branches or pull requests

5 participants
@drahnr @eskimor @sandreim @the-right-joyce and others