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

EPIC: Short term block propagation improvements #2811

Open
1 of 4 tasks
evan-forbes opened this issue Nov 5, 2023 · 2 comments
Open
1 of 4 tasks

EPIC: Short term block propagation improvements #2811

evan-forbes opened this issue Nov 5, 2023 · 2 comments
Labels
epic item groups other items for easier tracking investigation item tracks efforts related to an investigation. does not always require a PR to close. WS: Big Blonks 🔭 Improving consensus critical gossiping protocols

Comments

@evan-forbes
Copy link
Member

evan-forbes commented Nov 5, 2023

There are currently a few changes that should be easy to incorporate while potentially have a large impact on the efficiency and effectiveness of block propagation. We should investigate these individually by running experiments against a control network. For each of the listed experiments, we need a report that measures the difference in:

  • Time required to gossip the proposal block
  • Total bandwidth used per MB of block data per peer per channel
  • Percentage of block parts received more than once
  • Percentage of bandwidth used by each reactor over time
  • Percentage of heights that required more than one round to reach consensus

We need to know if these improvements along will enable the consensus layer to get to 32MB blocks without making more advanced changes in gossiping.

Experiments

  • Further prioritize block part gossiping
  • Use CAT
  • reduced number of peers but increased bandwidth rate limits

Tasks

@evan-forbes evan-forbes added the investigation item tracks efforts related to an investigation. does not always require a PR to close. label Nov 5, 2023
@evan-forbes evan-forbes self-assigned this Nov 5, 2023
@evan-forbes evan-forbes added the epic item groups other items for easier tracking label Nov 8, 2023
@staheri14
Copy link
Contributor

staheri14 commented Nov 8, 2023

Since reactors may be responsible for different channel IDs, it would be more insightful to get "percentage of bandwidth used by each channel ID and per peer over time" (in replace of Percentage of bandwidth used by each reactor over time).
Update: I see that this has been covered in an earlier item "Total bandwidth used per MB of block data per peer per channel", though, I am not sure how the "per MB of block data" impacts the calculation, mind elaborating?

One additional consideration: perhaps actual traffic per channel/reactor would be more informative than just percentages. Percentages show the bandwidth distribution among components, but these ratios can stay constant even if the actual bandwidth fluctuates. Monitoring the specific traffic values could provide a clearer picture of network health, unless the relationships between reactors/channel IDs are crucial for the analysis.

@staheri14
Copy link
Contributor

I would also consider including the following metrics:

  • Transaction throughput measured in bytes/second, calculated as block size/block time. This metric would allow us to compare the rate of traffic incurred by each P2P connection with the network's actual throughput. An analysis could then reveal the impact of varying block sizes on both the traffic overhead per P2P connection and the transaction throughput. It's noteworthy that sometimes traffic overhead may increase by growing block size while transaction throughput remains constant.

  • The peak frequency of block part downloads and uploads. An examination similar to the analysis provided in link.

@evan-forbes evan-forbes added this to the v2 milestone Nov 12, 2023
@evan-forbes evan-forbes added the WS: Big Blonks 🔭 Improving consensus critical gossiping protocols label Nov 12, 2023
@rootulp rootulp removed this from the v2 milestone Mar 1, 2024
@evan-forbes evan-forbes removed their assignment Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic item groups other items for easier tracking investigation item tracks efforts related to an investigation. does not always require a PR to close. WS: Big Blonks 🔭 Improving consensus critical gossiping protocols
Projects
None yet
Development

No branches or pull requests

3 participants