Re: [iccrg] Will Fair Queuing change Congestion Control?

Sebastian Moeller <moeller0@gmx.de> Thu, 05 January 2023 09:54 UTC

Return-Path: <moeller0@gmx.de>
X-Original-To: iccrg@ietfa.amsl.com
Delivered-To: iccrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B505C14CE20 for <iccrg@ietfa.amsl.com>; Thu, 5 Jan 2023 01:54:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.547
X-Spam-Level:
X-Spam-Status: No, score=-2.547 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmx.de
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9eQlxarVRzPO for <iccrg@ietfa.amsl.com>; Thu, 5 Jan 2023 01:54:08 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C159DC14CF03 for <iccrg@irtf.org>; Thu, 5 Jan 2023 01:54:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1672912437; bh=F1uG9VJgy081idKwhiQTkkayPxGI3BnfLwTT2OEJnqA=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=LAnQrzHSV0TmECbb3gySqLr/IKH9eQdBJOMJUmlIHf0DaZl3SBWxViyrUGJsQWwlI 87YyQpSZe1Rv+zEU7O/XVmmGqubx+JQESAOUmFnAGEct4ZsozFKiO4QPwTPKt4e9BI e1RRKLXdSwwN+vut2ba5d8HJ34OIBzx8yqQzYcghjJ/hY0XEtuZru58ErEYBiuBwRG qxSdfLyuh+HyPpggq303B+ELrNC6lW/Qt54xzcOGr7SDJ5fRpvi+mCT8dVqjtCnjgc jBMOexGNlJgfPRpa+RykIqEflxfOGSzRV2OqPUctro8rXIzfOjphEWNhIPYTSUUX5K iMslYFeTuXkJQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from smtpclient.apple ([134.76.241.253]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M9o21-1p87kH3yTt-005twO; Thu, 05 Jan 2023 10:53:57 +0100
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <b4807947-512b-ef16-ba91-9dfe76a2788d@huitema.net>
Date: Thu, 05 Jan 2023 10:53:55 +0100
Cc: "Annapareddy, Narasimha" <reddy@tamu.edu>, Maximilian Bachl <maximilian.bachl@gmail.com>, "iccrg@irtf.org" <iccrg@irtf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <79ED9743-E727-4812-9A2F-2980E9B31061@gmx.de>
References: <CAEXAmbs1WwvJ7761eSkSeT_w1GfwnbPL9Tcja8K7fxZHxAiMWA@mail.gmail.com> <E8CE0E38-BC35-416D-8D56-FEA1416968D6@apple.com> <CAEXAmbtjjjwqApdeXKL30x5WKaJ7Fs1_tWvbBdFUScRmqM9cXA@mail.gmail.com> <C3C1EA84-E8E5-4DCB-9EB7-BDAABDC4BE11@gmx.de> <IA1PR11MB724614E5325ADBE41322D8FBC3F59@IA1PR11MB7246.namprd11.prod.outlook.com> <D14C9723-3BE3-4281-B58A-1D4C9FB68724@gmx.de> <b4807947-512b-ef16-ba91-9dfe76a2788d@huitema.net>
To: Christian Huitema <huitema@huitema.net>
X-Mailer: Apple Mail (2.3696.120.41.1.1)
X-Provags-ID: V03:K1:J/wXDpQUD5LSIoHrLURZdEyInmPbe/rTT7HxOFv148yT9cCnsrQ o2ZmFgQmUEUBmuRnv+mOFOPfOkn3iZ//zizvuq+fP8Iew///dinOUpoh4hLeGKzF2TWpiA/ D4J9E8bedBCtcBQbbdI2Up36j22ikNNFD4wB604qCojN6pgec4TuN2ZnQPgdVM8SxTU8HVT s6sDVjjPcOEBUaIf2iA3g==
UI-OutboundReport: notjunk:1;M01:P0:/XPqbgqQyt0=;Ai0JuL/GaV6N8AWxvPbhAWUrDoe O4UEWdvWmlPOWLBddF2Mu54FpPt03PXOsfvo3WlnalXYCTV4OzDmqaD86YOW0cEwUL0LnNIwk b60JbaGo9G1eBWi3iz05rHzr4ciCBfc1nJzWALw/E6+7axi4RKU7glXZP2LTdFoGuTE6nkWsn gluSPwACNmMGycMo70OTN5BereISuM3SKT+FuzItsez9xt+HnMC403oKEtcWz2MXzcKNHD+qv DVYHX5C6h85dDRGVbqCij9UjjhfhZfcXXX71g7FfKDun3I00B8V9kp0Npxuo1m7phVAHpyftv hfxE5BD5g5Wd7ydjtidYMsOTa/FbfdoS5lq4o1I6h3T+SfTLiY88o/wboUbyFoszu9GE2d+8r vxNwAxPPgN5H7HER3rXCZnIAdNpqSb0xtqiVG66h2fLSfX/35VTgzRcEcL3NZQMPdUo3+Gl3H QlMihao+lZeMqR5pZH8p6XISSYtHUX+u8CoI5lrJfgSa3WP+LCF4hg+c1xtpQyPV2bEbDZMTS 8RkUY2J6AGYdvCHHjcTMbok7bnYDqTuY2vSdEyJahtuFxubwk/ihdeDDUm5gzQdrFn960HRBX Ia10ugsPm+f0nBkKBmp8VoBL7gD6U0FWXDkMF38/+x6e0iIcNgyHBJYGoT+Wr3QWBpumvlctU 9kF19W2AhA9Dv8AvKR4g9UrDiqIEzWWo4TR1/ciBC60lWWYrfmrNpbHZmIgws2m/7JJ1YTrcj 8KD2wc4VrCLKYqyTayHUpUtHVr5CJSurqWrk6aVEVuNOQjw9au/E5lmStJfm2i79OYUxwHtD+ IP9CU45TSFLbYzuJVcgP/idBGsbOoXB7e6AScuPjJ6yITRIiiBwLe51dXGhWwwEp73ir99yJG 77QjqoyzKZopXjziledsJ8kab1IjonwLuTMhGDRcFix6v6Rx1dQqYI5b81OcNzNWNpfqwh55c qzzSt+y0H4NZlftP/fm+KV71kDs=
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/goRe-zXuxr43MhEqrVNHYv8sreg>
Subject: Re: [iccrg] Will Fair Queuing change Congestion Control?
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/iccrg>, <mailto:iccrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iccrg/>
List-Post: <mailto:iccrg@irtf.org>
List-Help: <mailto:iccrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jan 2023 09:54:12 -0000

Hi Christian,


> On Jan 5, 2023, at 00:58, Christian Huitema <huitema@huitema.net> wrote:
> 
> 
> 
> On 1/4/2023 3:38 AM, Sebastian Moeller wrote:
>> Dear Narasimha,
>>> On Jan 4, 2023, at 10:09, Annapareddy, Narasimha <reddy@tamu.edu> wrote:
>>> 
>>> There are many ways delay-based congestion protocols can compete with loss-based protocols.
>>>  Here is an example approach:
>>>  Kiran Kotla and A. L. Narasimha Reddy, Making a delay-based protocol adaptive to heterogenous environments, Proc. of IWQOS, June 2008.
>>>  The basic idea is to claim a bit more bandwidth than TCP per successful transmission of window for the extra/early backoff on delay signals.
>> 	[SM] Thanks for the link! To clarify, there appears to be no widely-used delay based congestion control algorithm in the unconstrained internet.
> 
> Well, BBR is deployed quite a bit, its goal of "settling on the elbow" is definitely a form of delay minimization,

	[SM] Fair point, no shade intended from my side, I was more thinking inn terms of TCP Vegas and forgot about BBR's control loop.

> and it has quite a few other similarities with delay based congestion control. When BBR is the lone user of the bottleneck, it definitely delivers low latency. When BBR competes with Cubic, sometimes in wins, sometimes it looses. In some cases, BBR can saturate the link faster than Cubic, causing Cubic to experience losses and back off. In other cases, especially in bufferbloat conditions, Cubic manages to build queues that causes delays way above the min delay and cause BBR to slow down. Whether one or the other happens depends on quite a few variables, and is hard to predict.

	[SM] I am not too happy about the "hard to predict part", but I guess I am not alone in this...

> Most implementations of flow queuing or fair queuing are based on some form of bucketing. Typically, compute a hash of some elements of the header, derive a bucket number from the hash, and manage one queue per bucket. There are all kinds of variants depending on whether the hash includes IP addresses, port numbers, protocol type, or maybe address prefixes, and also whether the hash is based on source addresses and ports, destination addresses and ports, or both. Each of those variants have different properties, but they all have a common result, that a given TCP or QUIC connection will only compete with the TCP or QUIC connections in the same "bucket" -- with an increased probability of being "alone in the bucket". For some time of course, because new connections can join or leave the bucket at any time.

	[SM] I agree, but note that Linux' fq qdisc uses a perfect hash and hence should never encounter "bucket/fate sharing", but that seems somewhat infeasible for on-path nodes.


> So yes, it would be nice to have a simple way to answer whether the current connection is alone on the bottleneck, or alone in its bottleneck bucket. Kind of a first step before kicking buffer-bloating loss-based algorithms out of the Internet...

	[SM] Not that I am an expert but my take is that loss-based signaling is never going away fully. If a node is deep under water the only way to dig itself out of overload is by shedding packets instead of trying to transmit them and in that case flows better react to that signal if the want to play nice. So I argue that some level of emergency response to massive loss likely is needed indefinitely, no?

Regards
	Sebastian


> 
> -- Christian Huitema
> 
> _______________________________________________
> iccrg mailing list
> iccrg@irtf.org
> https://www.irtf.org/mailman/listinfo/iccrg