Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Jonathan Morton <chromatix99@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] cake byte limits too high by 10x
Date: Fri, 29 May 2015 15:24:14 +0300	[thread overview]
Message-ID: <CAJq5cE29v1qBg_J4p_RnF2q2qrYWsrdJoyz45WCGzBgaxF9eWQ@mail.gmail.com> (raw)
In-Reply-To: <CAA93jw60SFUP4BObBwCOy88nc5_jfykGK=45+09V+MMN0kNkyQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1602 bytes --]

> However there are many other objectives that need to be met also -
keeping the pipe filled and utilization high for starters. The ideal buffer
length is 1 packet, all the time, no idle periods. trying to smooth out
bursts. being resistant to attacks. etc. THIS STUFF IS HARD!

It's not hard. It's impossible - as long as we only have this one bit per
RTT per flow signalling capacity. Which is why I came up with ELR.

Until we get ELR, we'll have to put up with oscillating congestion window
sizes, and the inherent trade-off between utilisation and peak queue depth
they imply. ConEx and DCTCP don't solve that either; they just allow
different amounts of downward pressure at the upper end.

Even Codel implicitly acknowledges this oscillation in its design. Someone
described it recently as a self-adjusting bang-bang controller, and that's
basically fair; it has distinct "on" and "off" phases with some hysteresis
between them, just like your refrigerator. It works well for the given
conditions, but it too is inherently incapable of providing perfectly
smooth control.

And then there's the vastly different dynamics of slow start versus
congestion avoidance. Codel with ECN and either Westwood+ or CUBIC are
actually pretty good in the congestion avoidance phase. Slow start behaves
entirely differently, but it's hard to detect the optimal point at which it
should be told to back off, without risking being too aggressive at
signalling to congestion avoidance.

An observation: 50 simultaneous slow start flows with IW10 is equivalent to
one slow start flow with IW500.

- Jonathan Morton

[-- Attachment #2: Type: text/html, Size: 1780 bytes --]

  reply	other threads:[~2015-05-29 12:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-24  5:14 Dave Taht
2015-05-25  4:47 ` Jonathan Morton
2015-05-25 19:46   ` Dave Taht
2015-05-29 12:24     ` Jonathan Morton [this message]
2015-05-29 12:36     ` Jonathan Morton
2015-05-29 13:02     ` Jonathan Morton
2015-05-29 17:49       ` Dave Taht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJq5cE29v1qBg_J4p_RnF2q2qrYWsrdJoyz45WCGzBgaxF9eWQ@mail.gmail.com \
    --to=chromatix99@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox