-
Notifications
You must be signed in to change notification settings - Fork 126
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
feat: use Cubic CC by default #2295
base: main
Are you sure you want to change the base?
Conversation
Firefox uses Cubic by default: ``` yaml - name: network.http.http3.cc_algorithm type: RelaxedAtomicUint32 value: 1 mirror: always rust: true ``` https://searchfox.org/mozilla-central/rev/f9517009d8a4946dbdd3acd72a31dc34fca79586/modules/libpref/init/StaticPrefList.yaml This commit updates Neqo to use Cubic instead of New Reno by default.
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to bb45c74. neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
Cubic does not seem to grow the cwnd as fast as New Reno in congestion avoidance phase. More particularly, while our New Reno implementation increases its cwnd in each iteration by the SMSS, our Cubic implementation only does so in every second iteration. neqo/neqo-transport/src/connection/tests/cc.rs Lines 286 to 287 in 922d266
That is surprising to me. I expected Cubic to grow faster than New Reno in the beginning, given its concave increase early in congestion avoidance. I will give this more thought. |
That seems like a bug: https://datatracker.ietf.org/doc/html/rfc9438#section-1-5
|
Firefox uses Cubic by default:
https://searchfox.org/mozilla-central/rev/f9517009d8a4946dbdd3acd72a31dc34fca79586/modules/libpref/init/StaticPrefList.yaml
This commit updates Neqo to use Cubic instead of New Reno by default.