[Bloat] abc congestion control on time varying wireless links

Dave Taht dave.taht at gmail.com
Thu Dec 12 16:31:01 EST 2019


On Wed, Dec 11, 2019 at 12:12 PM Jonathan Morton <chromatix99 at gmail.com> wrote:
>
> > On 11 Dec, 2019, at 9:54 pm, Dave Taht <dave.taht at gmail.com> wrote:
> >
> > The DC folk want a multibit more immediate signal, for which L4S is
> > kind of targetted, (and SCE also
> > applies). I haven't seen any data on how well dctcp or SCE -style can
> > work on wildly RTT varying links as yet, although it's been pitched at
> > the LTE direction, not at wifi.
>
> It turns out that a Codel marking strategy for SCE, with modified parameters of course, works well for tolerating bursty and aggregating links.  The RED-ramp and step-function strategies do not - and they're equally bad if the same test scenario is applied to DCTCP or TCP Prague.

That matches my preliminary observations. thx.

>
> The difference is not small; switching from RED to Codel improves goodput from 1/8th to 80% of nominal link capacity, when a rough model of wifi characteristics is inserted into our usual Internet-path scenario.

While I'm the author of the netem slotting code that does this bursty
wifi emulation, and delighted you are using it, it would better to
additionally use the delay distribution modelling feature added
shortly therafter by members of the stadia team. The distributions of
wifi delay with just slotting did not resemble the real world enough
for my taste after I fiddled with it extensively. There is a very,
very long tail.

(or conversely: making wifi retry algos match a sane model better
would be good - it makes no sense to have 30 dumb retries in the mac
layer! mac retries really dominate my pdv data at these vastly lower
levels  of queuing)

I would love it if google were to publish the wifi distribution tables
they have developed since then for inclusion in iproute2.

>
> We're currently exploring how best to set the extra set of Codel parameters involved.

One of my thoughts after reading about the abc idea is that there is
an underused 4th state, in taking away both ect(1) and ect(0) on a
previously marked ect(0) stream as a sign you could accellerate. This
would only work if you were the only bottleneck router, of course, and
not with tcp as we know it.

I really like the idea of paced chirping in genera, as it could better
fill a wifi aggregate, and perhaps mitigate some of the exponential
overshoot problems in slow start (and this is separate from fiddling
with abc or other abc states)


>  - Jonathan Morton
>


-- 
Make Music, Not War

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-435-0729


More information about the Bloat mailing list