Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Jonathan Morton <chromatix99@gmail.com>
To: Adrian Popescu <adriannnpopescu@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] Cake3 - source code and some questions
Date: Thu, 16 Apr 2015 16:25:41 +0300	[thread overview]
Message-ID: <5BC1CA30-289D-42B4-95CD-3AE5D7B96F09@gmail.com> (raw)
In-Reply-To: <CAF3M4P3o9UsJ8rmdvR24JYaEVUK-DhkOOZyqPJ29pkuO6i2TPA@mail.gmail.com>


> On 16 Apr, 2015, at 15:14, Adrian Popescu <adriannnpopescu@gmail.com> wrote:
> 
> Will the changes to codel made by cake be put into fq_codel?

This might be a more complex question than you realise.

The most likely feature of cake to be implemented in fq_codel might be the set-associative hash, since it’s almost a pure win.  That would almost be a cut-and-paste operation, but due to fq_codel’s de-facto status as a “standard candle” in research, it would need to be made configurable, at least to make turning it off easy.  And that isn’t really a “codel” feature change, since it influences the FQ layer exclusively.

The codel parameter tuning done by cake isn’t applicable to fq_codel, because the bandwidth information that this tuning relies on isn’t available (not even when it’s stacked with HTB).  That’s why cake defaults to something very like the standard codel parameters when the internal shaper is disabled (“unlimited” mode), and that in turn is one reason why those defaults are also used at "sufficiently high” bandwidths, so that there isn’t a sharp discontinuity in the behaviour when the bandwidth is increased beyond the link rate and on to infinity (unlimited mode actually works by setting the shaper to infinite bandwidth, ie. zero time per byte).  The other reason, as I previously noted, is because the parameters depend on the total RTT as well as the packet rate.

Which leaves algorithmic changes to codel itself.  It’s certainly possible to drop these (fairly subtle) changes in, but we should probably spend some more time measuring the effects of these changes and finalising them.  We’re considering doing a major refactor of the code, which might make it harder to perform a drop-in replacement.  In any case, FQ does mean that codel’s precise behaviour is less critical than it might otherwise be, and there are valid arguments - such as the “standard candle” one - for leaving it alone.

 - Jonathan Morton


  reply	other threads:[~2015-04-16 13:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-12  9:39 Adrian Popescu
2015-04-12  9:58 ` Jonathan Morton
2015-04-12 10:24 ` Jonathan Morton
2015-04-12 12:33   ` Adrian Popescu
2015-04-12 18:57     ` Jonathan Morton
2015-04-16 12:14       ` Adrian Popescu
2015-04-16 13:25         ` Jonathan Morton [this message]
2015-04-16 13:48           ` Adrian Popescu
2015-04-16 19:26             ` Dave Taht
2015-04-22 21:02               ` Adrian Popescu
2015-04-23  0:45                 ` Stephen Hemminger
2015-04-23  9:01                 ` Toke Høiland-Jørgensen
2015-04-23 10:56                   ` Adrian Popescu
2015-04-23 11:01                     ` Toke Høiland-Jørgensen
2015-04-23 11:05                       ` Adrian Popescu
2015-04-23 11:09                         ` Toke Høiland-Jørgensen
2015-04-23 11:13                           ` Jonathan Morton
2015-04-16 13:49           ` Sebastian Moeller

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=5BC1CA30-289D-42B4-95CD-3AE5D7B96F09@gmail.com \
    --to=chromatix99@gmail.com \
    --cc=adriannnpopescu@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    /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