Skip to content

Commit

Permalink
Add Section on config changes for block prop
Browse files Browse the repository at this point in the history
Add section on config changes for improveing block propagatin for larger
blocks.
  • Loading branch information
karknu committed Jan 21, 2025
1 parent ca37303 commit ba7a6d3
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions blog/2025-01-20-network.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,39 @@ optimisations and is making progress on them. See

We cut `ouroboros-network-0.19` and `0.19.1` [releases][on-releases].

### Configuration Changes for Block Propagation Times

Block propagation times are influenced by the number of TCP round trips
required to transmit a block.

In mid-December, we published a [post][cfpost] discussing configuration
changes to the Linux IP stack. These adjustments involved increasing the
initial TCP congestion window to 42 segments and ensuring that the
congestion window remained open for idle connections.

IOG applied these changes to four stake pools located in Brazil,
South Africa, Dubai, and Japan around December 15th.

The Cardano Foundation manages a standard peer-to-peer (P2P) node in Paris,
which operates without manual connections to other Cardano
Foundation nodes or IOG nodes. After implementing the configuration changes,
we noted a statistically significant improvement in the propagation times
for blocks larger than 10 segments (about 14,480 bytes) produced by IOG's pools.

| Block Size (bytes) | Improvement (ms) |
| --------------------- | ---------------- |
| 14,480 - 28,960 | -132 to -78 |
| 28,960 - 57,920 | -197 to -130 |
| >57,920 | -255 to -176 |

<div style="text-align: center;">
<img src="/images/network/2025-01-20-blocks.png" alt="Block Propagation Times" width="600" />
</div>

These results demonstrate that a Stake Pool Operator (SPO) can enhance the
propagation times of their own pool's blocks by applying config changes
targeting TCP's congestion window.

## Low-level summary

### Querying Network State through Node-to-Client Protocol
Expand Down Expand Up @@ -116,3 +149,4 @@ data NetworkState peeraddr = NetworkState {
[on#5044]: https://github.com/IntersectMBO/ouroboros-network/pull/5044
[on#5046]: https://github.com/IntersectMBO/ouroboros-network/pull/5046
[on-releases]: https://github.com/orgs/IntersectMBO/projects/5/views/18
[cfpost]: https://forum.cardano.org/t/problem-with-increasing-blocksize-or-processing-requirements/140044/7
Binary file added static/images/network/2025-01-20-blocks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ba7a6d3

Please sign in to comment.