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] perhaps pursuing sqrt(flows) one day?
Date: Wed, 3 Jun 2015 18:47:13 +0300	[thread overview]
Message-ID: <CAJq5cE16UJHeywMXD=sfSb6pax8qZrF-SnDq_FGik0etOZ7XBQ@mail.gmail.com> (raw)
In-Reply-To: <CAA93jw41-uMRJs73LjkDhy4s3y6m-xr_VDcA21wx5CwsLctgKQ@mail.gmail.com>

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

It's important to draw the right conclusions from a paper like that. They
ran their experiments using Reno and single drop-tail queues. As we know,
FQ and AQM both change those dynamics considerably. I'm also suspicious of
any approach which asks me to take a number of flows as an a priori
constant; we always need to handle the single flow case unless we can prove
otherwise.

It is however encouraging to see that the "imperfect" behaviour of a real
network (versus a virtual clocked simulator) erases the main argument
against pacing, that of synchronisation.  Also that the primary throughput
benefits are seen in the early phases of a connection, which is where we
currently see the biggest bursts (from slow start) and the biggest queues
under AQM.

They do conclude that a queue sized to BDP/sqrt(flows) is adequate. The
corollary, which is probably more practically valid, is that N^2 flows are
required to achieve maximum sustained throughput, given Reno and a dumb
buffer sized to BDP/N.

For FQ, that corresponds to BDP*(flows^-1.5) per queue. Since throughput is
also divided evenly between flows, that in turn corresponds to
RTT/sqrt(flows) sojourn time. Since I now track the number of active flows
directly in cake, it is possible to calculate this correction factor to the
Codel parameters when that number changes, using the existing inverse
square root code (and, for small numbers of flows, the cache).

Before I actually try that, however, I'd like to know whether the
"fishcake" iteration of cake works better in the cases you were concerned
about.

- Jonathan Morton

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

      reply	other threads:[~2015-06-03 15:47 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-02  6:47 Dave Taht
2015-06-03 15:47 ` Jonathan Morton [this message]

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='CAJq5cE16UJHeywMXD=sfSb6pax8qZrF-SnDq_FGik0etOZ7XBQ@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