quiche icon indicating copy to clipboard operation
quiche copied to clipboard

cc: BBR congestion control module

Open junhochoi opened this issue 3 years ago • 2 comments

Implementing bbr congestion control algorithm module.

To try this module, you'll need quiche-server supports packet pacing only with SO_TXTIME feature in recent linux kernel (#1138). Also you'll need to configure fq in tc qdisc on the server for pacing to work properly.

Currently this PR is rebased on #1238 implementing GSO-friendly pacer. You can test with quiche-server using GSO in #1138

TODOs

  • [x] fix bug/issues
  • [x] add more unit tests

junhochoi avatar Mar 04 '22 23:03 junhochoi

Haven't reviewed the whole thing yet, but one comment I have is that I don't think BBR should be the default algorithm due to the requirement for pacing, which could lead applications to be kinda broken as we have no way to enforce that they pace, and its other other side-effects (e.g. fairness to other algorithms, increase in spurious retransmissions, ...).

CUBIC seems like a saner default (in line with what Linux does).

We can change the default in the apps once the pacing PR is merged, but even then we might need to limit it to Linux.

ghedo avatar Mar 11 '22 13:03 ghedo

CUBIC seems like a saner default (in line with what Linux does).

Sure - I removed the commit which makes bbr default.

junhochoi avatar Mar 11 '22 17:03 junhochoi