From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-x1132.google.com (mail-yw1-x1132.google.com [IPv6:2607:f8b0:4864:20::1132]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 28AEC3B29D for ; Sat, 3 Jun 2023 13:17:29 -0400 (EDT) Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-565a6837a0bso35029887b3.3 for ; Sat, 03 Jun 2023 10:17:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685812648; x=1688404648; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=zYkr+8E/93jg+wG5ol1CQvWyRbEHtlDnj9uYIxh8Kp4=; b=n9FNP5VXAUxtHzOs/Poq+vwZ7Szb6JTqLfNT0dhV3w+fpPecca6GcsGLwC49t97wVJ 6ArWNppL0iQLMqEj5SEt4hDUtG78nNrIgSbYCQbHoDvgLSJ+Q3i2POhNQbxaAQ0XeBRl c3QtqZCVHQXaLVafaPqNtsel3iKX9REKsmZoCihZZEc+Wr+WqWfKFuhoYduBonfCH4hV 6Q4ZXSvM3kSTeBr4C88cxb1H2kILzG62AZxCeJHpv8IRLRqTgWLU5XRmpTLdNLzW0VcB u4n6tg2G91XbGNGeHFjD1ss5NFLFmhdkHJDCOW7dzdu/yZJJ58V8Tj0zJ7ZG4TSYRqd5 AC6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685812648; x=1688404648; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zYkr+8E/93jg+wG5ol1CQvWyRbEHtlDnj9uYIxh8Kp4=; b=f1VURAru3fgu6vuDPuDJBhYUEwQ9VVjkdnfFe3pU81BXd4F6Il/gOKepjkDnc4/eRy 9vvHL+oQUNkX2qOQrQt6hunqH7OPtXgWWbFFfgdISRxTPOsK+CB7Z8UPlR9tO4J5jJQL GBvyhMTJ4xIL0SwwwmImpRLGIYAVZEH85itzD2PO6pQHHNPzcATsOShK6jOSgzuuthqL LpOclSUJWV5WMMEVe6lBwV/5aESoxHkpF77zWx/12xJp2iz1f481TTDXqi2akSf9ALTS DllhnUnC2eCQL6OA0eVvFH9RUA+7mpb9Mc+aduKEryY3LjJXIe5Gu9sKK7PXkR9ea1fo Bb+g== X-Gm-Message-State: AC+VfDymraBD7t/SHWxSdvNNtkdl9G2h5AsCMqhpXAXj1I8qKR7xpUSC oIvm0T5W4hW9tOIWaFAdhHfmCwbZGC8c7OEh2whsuBf4 X-Google-Smtp-Source: ACHHUZ4115gs+jrhEn5PCmwAoSXwF+6l4i18gmdv3UBmrePK1fzRPOoExUdFcjlWkWJl6ZWzAoh8Q6YSTElCih81fL4= X-Received: by 2002:a81:8345:0:b0:568:b6a5:9100 with SMTP id t66-20020a818345000000b00568b6a59100mr3690998ywf.42.1685812648327; Sat, 03 Jun 2023 10:17:28 -0700 (PDT) MIME-Version: 1.0 References: <39DED14A-AACF-4C45-9834-C295F92E8800@gmail.com> In-Reply-To: <39DED14A-AACF-4C45-9834-C295F92E8800@gmail.com> From: John D Date: Sat, 3 Jun 2023 18:17:19 +0100 Message-ID: To: bloat@lists.bufferbloat.net Content-Type: multipart/alternative; boundary="0000000000000fbead05fd3cd899" Subject: Re: [Bloat] SQM tuning question X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jun 2023 17:17:29 -0000 --0000000000000fbead05fd3cd899 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 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 =E2=80=9Cno knobs=E2=80=9D, =E2=80=9Cjust works=E2=80= =9D, =E2=80=9Chandles variable bandwidth > and RTT=E2=80=9D, and simple AQM algorithm. > > > > =E2=80=A2 It is parameterless =E2=80=94 no knobs are required for= operators, > users, or implementers to adjust. > > =E2=80=A2 It treats good queue and bad queue differently - that i= s, it > keeps the delays low while permitting bursts of traffic. > > =E2=80=A2 It controls delay, while insensitive to round-trip dela= ys, link > rates, and traffic loads. > > =E2=80=A2 It adapts to dynamically changing link rates with no ne= gative > 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 o= n > 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 no= t > 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 t= wo > 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 AQ= M, > and a deficit-mode bandwidth shaper. All you really need to do is to tel= l > 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 contr= ol. > > 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 yo= ur > situation, we might be able to give more detailed advice. > > - Jonathan Morton --0000000000000fbead05fd3cd899 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for the detail. It makes sense but it kind of feel= s like in some (maybe many) cases the router could know the internet link p= erformance. Particularly home router-modems often monitor this already. May= be 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 s= omething off the shelf with half decent SQM... If "auto configuration&= quot; isn't a feature then that answers my question and I can get on ch= oosing the best option.

On Sat, Jun 3, 2023, 16:44 Jonathan Morton <ch= romatix99@gmail.com> wrote:
= > On 3 Jun, 2023, at 4:56 pm, John D via Bloat <b= loat@lists.bufferbloat.net> wrote:
>
> On the website it says the following:
>
> CoDel is a novel =E2=80=9Cno knobs=E2=80=9D, =E2=80=9Cjust works=E2=80= =9D, =E2=80=9Chandles variable bandwidth and RTT=E2=80=9D, and simple AQM a= lgorithm.
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0=E2=80=A2 It is parameterless =E2=80=94 no k= nobs are required for operators, users, or implementers to adjust.
>=C2=A0 =C2=A0 =C2=A0 =C2=A0=E2=80=A2 It treats good queue and bad queue= differently - that is, it keeps the delays low while permitting bursts of = traffic.
>=C2=A0 =C2=A0 =C2=A0 =C2=A0=E2=80=A2 It controls delay, while insensiti= ve to round-trip delays, link rates, and traffic loads.
>=C2=A0 =C2=A0 =C2=A0 =C2=A0=E2=80=A2 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 a= ctual internet connection speed.
> These seem to conflict especially that "handles variable bandwidt= h" bit. Have I misunderstood or do the algorithms used in modern hardw= are just not provide this part typically? My connection performance is quit= e 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.=C2=A0 It does indeed work pret= ty well with no additional tuning - but only in combination with the other = two components, or when applied directly to the actual bottleneck.=C2=A0 Un= fortunately in most consumer internet links, the actual bottleneck is inacc= essible for this purpose.=C2=A0 Thus an artificial bottleneck must be intro= duced, at which SQM is applied.

The most convenient tool for applying all three SQM components at once is C= ake.=C2=A0 This includes implementations of advanced flow isolation, CoDel = AQM, and a deficit-mode bandwidth shaper.=C2=A0 All you really need to do i= s to tell it how much bandwidth you have in each direction, minus a small m= argin to ensure it becomes the actual bottleneck and can exert the necessar= y control.

When your available bandwidth varies over time, that can be inconvenient.= =C2=A0 There are methods, however, of observing how available capacity tend= s to change over time (typically on diurnal and weekly patterns, if the var= iations are due to congestion in the ISP backhaul or peering) and schedulin= g adjustments on that basis.=C2=A0 If you have more information on your sit= uation, we might be able to give more detailed advice.

=C2=A0- Jonathan Morton
--0000000000000fbead05fd3cd899--