-
Notifications
You must be signed in to change notification settings - Fork 14
Contribution to buffer bloat and slower convergence due to larger decrease factor #89
Comments
@markkukojo, |
I would add to Vidhi's comment by explaining that network operators are not expected to 'solve' this issue by setting a lower AQM threshold wherever Cubic is used (which is clearly impractical, but might be how someone awkward could interpret Vidhi's words). Nonetheless, widespread deployment of Cubic (2006+ timeframe) gives more scope for setting AQM thresholds lower for the same utilization. Indeed, the subsequent round of AQM implementations (2012+ timeframe) could set AQM thresholds to a lower default than if Reno had still been widely deployed. I don't think 'bufferbloat' is even the right word for an AQM that is set for the amplitude of Reno's sawteeth rather than Cubic's. Bloat implies excessively large, not just a little too large. The lesson here is that we need to be careful attributing blame. Once AQMs are deployed to address real bufferbloat, the root cause of the residual 'bufferbloat' is not in the buffer, it's in the large variations of congestion control sawteeth (in slow-start as well as congestion avoidance). It is inappropriate to blame Cubic for squeezing the sawteeth up nearer to the threshold - the blame for the threshold needing to be that high in the first place falls on the predecessor to Cubic (Reno). Should the draft say something about this? I think it should (briefly - to counter any future criticism similar to Markku's). But that would require a new section. It doesn't fit under any of the headings in the existing 'Discussion' section, which follows the structure suggested by RFC5033. But not saying anything would also be OK for me. |
Regarding slower convergence, the same section could also say that the smaller reduction per round (larger β) means that it takes more rounds to reduce in response to continuing congestion or another flow trying to push in. Nonetheless, convergence speed prior to Cubic was primarily limited by the slow additive increase of Reno, which can be faster once Cubic gets into true Cubic mode. |
Any new text about slower convergence obviously ought to mention Cubic's optional fast convergence mechanism. A good paper that is mostly an evaluation of Cubic's convergence (with fast convergence mechanism enabled) is: On that subject, this text in the fast convergence section is infeasible to comply with:
This ought to say whether fast convergence is recommended for use over the public Internet, or not (given the public Internet is designed for both single flows and multiple flows). I believe fast convergence is generally enabled, so this is the sort of thing that ought to be recommended in an RFC that wraps up more than a decade of experience using Cubic. |
@lisongxu since you self-assigned this some time ago, would you please prepare a PR to close this issue? |
Thanks, @larseggert . I will |
@larseggert This issue overlaps mainly with two other issues. The buffer bloat part overlaps with issue #94, and the convergence part overlaps with issue #96. |
@lisongxu do you think anything more needs to be done here after those issues are closed? |
@larseggert No, thank you |
Markku Kojo said,
The text was updated successfully, but these errors were encountered: