General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: John D <j.w.r.dexter@gmail.com>
To: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] SQM tuning question
Date: Sat, 3 Jun 2023 18:17:19 +0100	[thread overview]
Message-ID: <CAKWkaxFkyc8xJdiAmzqQOPm1TpbEFGZV0SSDX0BnrzENVEwxUA@mail.gmail.com> (raw)
In-Reply-To: <39DED14A-AACF-4C45-9834-C295F92E8800@gmail.com>

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

Thanks for the detail. It makes sense but it kind of feels like in some
(maybe many) cases the router could know the internet link performance.
Particularly home router-modems often monitor this already. Maybe that's
just not exposed in any standardised way? I'm guessing if I was into
openwrt I could maybe do something, but I prefer just to find something off
the shelf with half decent SQM... If "auto configuration" isn't a feature
then that answers my question and I can get on choosing the best option.

On Sat, Jun 3, 2023, 16:44 Jonathan Morton <chromatix99@gmail.com> wrote:

> > On 3 Jun, 2023, at 4:56 pm, John D via Bloat <
> bloat@lists.bufferbloat.net> wrote:
> >
> > On the website it says the following:
> >
> > CoDel is a novel “no knobs”, “just works”, “handles variable bandwidth
> and RTT”, and simple AQM algorithm.
> >
> >       • It is parameterless — no knobs are required for operators,
> users, or implementers to adjust.
> >       • It treats good queue and bad queue differently - that is, it
> keeps the delays low while permitting bursts of traffic.
> >       • It controls delay, while insensitive to round-trip delays, link
> rates, and traffic loads.
> >       • It adapts to dynamically changing link rates with no negative
> impact on utilization.
> >
> > But everywhere I have read about about hardware which implements SQM
> (including the bufferbloat website) it describes the need to tune based on
> actual internet connection speed.
> > These seem to conflict especially that "handles variable bandwidth" bit.
> Have I misunderstood or do the algorithms used in modern hardware just not
> provide this part typically? My connection performance is quite variable
> and I'm worried about crippling SQM to the lowest speed seen.
>
> SQM in practice requires three components:
>
> 1: Flow isolation, so that different flows don't affect each others'
> latency and are delivered fairly;
>
> 2: Active Queue Management (AQM) to signal flows to slow down
> transmissions when link capacity is exceeded;
>
> 3: Bandwidth shaping to match the queue to the available capacity.
>
> CoDel is, in itself, only the AQM component.  It does indeed work pretty
> well with no additional tuning - but only in combination with the other two
> components, or when applied directly to the actual bottleneck.
> Unfortunately in most consumer internet links, the actual bottleneck is
> inaccessible for this purpose.  Thus an artificial bottleneck must be
> introduced, at which SQM is applied.
>
> The most convenient tool for applying all three SQM components at once is
> Cake.  This includes implementations of advanced flow isolation, CoDel AQM,
> and a deficit-mode bandwidth shaper.  All you really need to do is to tell
> it how much bandwidth you have in each direction, minus a small margin to
> ensure it becomes the actual bottleneck and can exert the necessary control.
>
> When your available bandwidth varies over time, that can be inconvenient.
> There are methods, however, of observing how available capacity tends to
> change over time (typically on diurnal and weekly patterns, if the
> variations are due to congestion in the ISP backhaul or peering) and
> scheduling adjustments on that basis.  If you have more information on your
> situation, we might be able to give more detailed advice.
>
>  - Jonathan Morton

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

  parent reply	other threads:[~2023-06-03 17:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-03 13:56 John D
2023-06-03 15:44 ` Jonathan Morton
2023-06-03 16:54   ` Kenneth Porter
2023-06-04 18:48     ` Sebastian Moeller
2023-06-03 17:17   ` John D [this message]
2023-06-03 18:04     ` Aaron Wood
2023-06-04 19:55       ` Sebastian Moeller
2023-06-04 18:56     ` 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/bloat.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=CAKWkaxFkyc8xJdiAmzqQOPm1TpbEFGZV0SSDX0BnrzENVEwxUA@mail.gmail.com \
    --to=j.w.r.dexter@gmail.com \
    --cc=bloat@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