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

Fast transmission of large blocks at moderate IB rate? #234

Open
bwbush opened this issue Mar 7, 2025 · 5 comments
Open

Fast transmission of large blocks at moderate IB rate? #234

bwbush opened this issue Mar 7, 2025 · 5 comments
Assignees
Labels
question Further information is requested retest

Comments

@bwbush
Copy link
Collaborator

bwbush commented Mar 7, 2025

At 163840 bytes/IB the Haskell simulations indicate faster diffusion of blocks at moderate rates, in contrast to slower or higher rates. (This is a strong enough effect that it is statistically significant.) What explains this? Is there some aspect of TCP that causes this?

Image

Image

Image

@bwbush bwbush added the question Further information is requested label Mar 7, 2025
@Saizan
Copy link
Contributor

Saizan commented Mar 11, 2025

When traffic is low enough the congestion window has time to shrink back down between messages and will have to grow again: e.g. we expect a 96kB message to take 3 fragments from cold. Then it's reasonable there's a sweet spot for diffusion where there's enough traffic that most bodies are sent in just one fragment, while the processing delays are still small enough that they don't cancel the benefit.

@bwbush If the effect disappear with tcp-congestion-control: false then that'd be a pretty direct confirmation.

It's quite interesting that at 10 IB/s there's no long tail. Can you share the topology used for these runs?

@bwbush
Copy link
Collaborator Author

bwbush commented Mar 12, 2025

It's quite interesting that at 10 IB/s there's no long tail. Can you share the topology used for these runs?

I'm using the 100-node default topology: https://github.com/input-output-hk/ouroboros-leios/blob/main/analysis/sims/2025w10/topo-default-100.yaml

@bwbush
Copy link
Collaborator Author

bwbush commented Mar 12, 2025

If the effect disappear with tcp-congestion-control: false then that'd be a pretty direct confirmation.

I'll try this and have added the retest tag to this ticket to remind me.

@bwbush bwbush added the retest label Mar 12, 2025
@will-break-it
Copy link
Contributor

will-break-it commented Mar 17, 2025

Would it be worth testing ib-body-avg-size-bytes: 196608 (2× the current size)?
It would perhaps tell us more about whether 163840 bytes/IB is truly optimal or just one point on a performance curve.
I'd like to know at what threshold processing delays outweigh transmission efficiency benefits?

cc @Saizan @bwbush

@bwbush
Copy link
Collaborator Author

bwbush commented Mar 19, 2025

I compared the cases with optimizations on vs off and, arguably, it looks like the optimizations cause this effect. (I'd have to do another set of runs with finer resolution to be 100% sure.) Also, we have a coherent explanation of this as a TCP effect. I propose we close this issue, but I'm fine doing the additional runs if we want.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested retest
Projects
None yet
Development

No branches or pull requests

5 participants