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

Set max gap to 32 for low delay connections #1764

Merged
merged 3 commits into from
Oct 22, 2024
Merged

Set max gap to 32 for low delay connections #1764

merged 3 commits into from
Oct 22, 2024

Conversation

huitema
Copy link
Collaborator

@huitema huitema commented Oct 20, 2024

When testing performance, we observed that the data rate of long duration connections was lower than short connections. For example, instead of seeing data rates of 3 Gbps with Cubic, we were seeing data rates of 1.5 Mbps.

image

Analyzing the data showed that picoquic was setting the "max ACK GAP" to very large values, and that ACKs were only sent when the max ACK delay expired, i.e., after 1ms. Capping the "max ack gap" to never exceed 32 packets has a radical effect on the observed Cubic performance. Instead of 1.5 Gbps +- 8%, I now see 3.36 Gbps +- 1%!

We don't see the same improvement for BBR. We see some: the dark blue line (BBR with 32 cap on ack gap) is a bit above the light blue one. Some bad effects are gone: there are no spurious packet losses any more. But there is still work to do to improve that behavior.

@huitema huitema merged commit 0ba9cca into master Oct 22, 2024
11 checks passed
@huitema huitema deleted the ack_gap_min_rtt branch October 22, 2024 06:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant