Re: [tsvwg] Gorry Fairhurst Individual thoughts on choosing whether/howto advance ECN work.

Sebastian Moeller <moeller0@gmx.de> Sat, 23 May 2020 22:09 UTC

Return-Path: <moeller0@gmx.de>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2D2213A0F0A for <tsvwg@ietfa.amsl.com>; Sat, 23 May 2020 15:09:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.649
X-Spam-Level:
X-Spam-Status: No, score=-1.649 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YVblHRBsYx8x for <tsvwg@ietfa.amsl.com>; Sat, 23 May 2020 15:09:34 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3866F3A0F0C for <tsvwg@ietf.org>; Sat, 23 May 2020 15:09:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1590271762; bh=nUrfgKQCS1lSEWfzHFAepIXJyP8AbeCAIu/vYsNJMig=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=H0lO7UwhLJse8mlcQZSfyHHDLoSw3ll5HgR8FpYR6Cq3LlzgPEvFvd+kqXyUMXMLy Cyqv16P9ymLJinrPuyo9LQw6utz+cJOi+nKB6vRBMfplJ3ufA3ofxX1QMNRYq5fcLu /4E6kHH0Ud2bgAPpB+/8/7auyyMnf4FKR0skiUoE=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from hms-beagle2.lan ([95.112.110.247]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MG9gE-1joikv4BoK-00GZ5N; Sun, 24 May 2020 00:09:22 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <5D7C2E01-F71D-441B-B611-2D156947C14E@gmx.de>
Date: Sun, 24 May 2020 00:09:21 +0200
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, Joseph Touch <touch@strayalpha.com>, tsvwg@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <C59E1B15-DED6-491F-8D46-5E2F81CF31B4@gmx.de>
References: <dbc71da6-70f1-7369-1d2d-f08fb3b08b69@erg.abdn.ac.uk> <21483444.sDhFMENYeD@linux-9daj> <a85600da-e69f-9190-7ca1-d23a7e7246f9@bobbriscoe.net> <3267993.nvHYsSR2bi@linux-9daj> <dd8e3896-2951-537f-e3d1-9954c93348dd@bobbriscoe.net> <2268A1D8-9E49-41DB-BB52-3BF6381025E8@gmx.de> <alpine.DEB.2.20.2005240026090.11277@whs-18.cs.helsinki.fi> <5D7C2E01-F71D-441B-B611-2D156947C14E@gmx.de>
To: Ilpo Järvinen <ilpo.jarvinen@cs.helsinki.fi>
X-Mailer: Apple Mail (2.3445.104.14)
X-Provags-ID: V03:K1:wTA3MDWU8GzY6RmegSLmVGiqNbZhw9eqHCIpKeOW4UMUn8vO5tI oHdSv+lvMZwZ7wSSopiqwzwHjEJqiWMXjd84NoBiUABERbGpuIifjMIyS5BNYdLTY0mArL8 vrDFLgwbfCZ2OXRfSyh82TCLUC4hYjeBau/MaxjtFMOHiWI8WWgg5QrZ5YzjEtJwkeJO+U2 qK5tgLfXP6kKuZ9GG2jmw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:pKK1ic8qFeY=:D+0A6TXv36+T5yd+pBK8ng dC1F4JgJVFArisKy2LsThnyXSPmm9GeXIu2DGeNrdO60zUGZX9Ij4FKLq1V2ZGk8l6doONByK Gyf+mqgnCSAFdP9LaU9OdEdAY9065zXBXzkJXmXbTdMJ5TP5JmzKZ/IiH8gpVPXNU8ohfWG0Z 5VsUT5GAUwhYF15zWONoJtnQhjbEL4k5T/D0UWtmQKoZQ1c+3L9XFx4fQkUlgMkVHcqPZH7BC F14/3pyHmRjeYzZod2T8MkWGepSAqv3QAd+d9x/mZj8u/jfPtg/7ER9AfwfqhlnGg50j9xrxt jF0fLRboi84twavW/sIyKRVJZ3tTEHlH0p9TFW7TSnRVAbj0n5hASYnO6gfcKyF7a3TYpTcwm hxXFzXB1xZt3I4uT664zQ4h+4r1XZTvNuympcc6iicDzjXZl8AeAH+Ni2b0fIE1QLpzcPkx7A he9tO4RGU8rDf2dK6I2qCjk4MSm8F/HM9/4+ncJpYuyeOuMIAMfYAOicZQX3/pP8jVKZ9WCLc jBdCVKBrgWnACwXg8jE0+U+0sfnOpeigKMCKxWl6eDniR2MCgRl1hPYQrurGyMJTiuTJy6Ak4 v51/9Q/Dfxn41QjveMbDVSGu25ActRTNtXxhkrYrTfnvEkJaeQqb6fL+0SQtjcadQGMkqNP8F oRSgmQAaYmAirKY82x/OTL2YOJoKehZWpXl4/pEZeST/3aWpvitLIvJA7ABLLXlAl33APW1wM nURqyE0WKBzSAmV+dxqVdJi10FwmlXjD85jUKY0NSDUaU2m37y8rQCf1nlbgdiBIKVMthLGL4 D1MvifkamK25YoYJZtLeCLpza7Fh7MRnCzrwddQnSJhVnV9Olkz7k9X4QIImzbg7QWR9nOrsq 9wgo0mQqvnvT66euW1pAYiR3neLQAz7A1vOF+YH1mkjQ4NivHrtlldIoyBWx9zEDwfuKqOL3Y I3YBwWzbCxST8ekIZZOmeBIJkD/Glqbu2q/ON1PMsn6GjX3L6HpC7ms7bqxJ/IznW86YJLk27 FzREA+f40Kds4+Gc4doDMsgMihedq/FbwMkEcFrvTtS+y/oqFQGUAbf9Udb4lgDfJ8UujKHUk lJU6YaUA5iqi+eA9aeG+bWGN4EjawuAkVPU5uOA8wEa9+RX79Ye3jnczIyayJZiBB9LOhKAy1 zrBlln878vdUdqj5soDUcRG74NXaKSr+cfsrMjncmcBa83ED723jJO86Mz47Is3by4Vh7IhIW +Nj29Un5R6wpQbuld
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/se9pC5l_a9Tyhgyoogc-Q2Gogws>
Subject: Re: [tsvwg] Gorry Fairhurst Individual thoughts on choosing whether/howto advance ECN work.
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 23 May 2020 22:09:37 -0000

Hi Ilpo,

I just realized, that the dualQ alone is not really worth comparing to fq_codel, as it requires TCP Prague for proper functionality, so add at least 892 lines (https://github.com/L4STeam/linux/blob/testing/net/ipv4/tcp_prague.c) to the dualq ledger:
fq_codel: 724+310+164+255+74 = 1527
duaQ: 746+ 892 = 1638


I hope you agree that there is no clear significant complexity difference between L4S and fq_codel if measured by lines of code. I am not claiming that that is an ideal measure, but it sure beats lines of pseudocode.

Best Regards
	Sebastian



> On May 24, 2020, at 00:00, Sebastian Moeller <moeller0@gmx.de> wrote:
> 
> HI Ilpo,
> 
> 
>> On May 23, 2020, at 23:36, Ilpo Järvinen <ilpo.jarvinen@cs.helsinki.fi> wrote:
>> 
>> On Sat, 23 May 2020, Sebastian Moeller wrote:
>> 
>>> Dear Bob,
>>> 
>>> 
>>>> On May 23, 2020, at 17:07, Bob Briscoe <ietf@bobbriscoe.net> wrote:
>>>> [...]
>>>> [BB] I don't think anyone except you is arguing that FQ_CoDel is 
>>>> simpler than the DualQ (because it isn't). You can compare this 
>>>> pseudocode yourself, which also links to the Linux code: 
>>>> https://tools.ietf.org/html/draft-ietf-tsvwg-aqm-dualq-coupled-11#appendix-A.1
>>> 
>>> 	I note that the fq-codel RFC contains zero lines of pseudocode, so 
>>>     by this measure it must be infinitely simpler than the dual queue 
>>>     coupled AQM, no?
>>> 
>>> But joking aside, it seems like an odd choice to compare the complexity 
>>> of an qdisc in the main-line kernel with an out of line qdisc under 
>>> active development, but if we attempt to do this, surely 724 lines for 
>>> https://github.com/L4STeam/sch_dualpi2_upstream/blob/sch_dualpi2/net/sched/sch_fq_codel.c 
>>> (plus 310 lines for https://github.com/L4STeam/sch_dualpi2_upstream/blob/sch_dualpi2/net/sched/sch_codel.c) 
>> 
>> And what about the header files that in this case actually implement part 
>> of CoDel (rather than just containing some func signatures)?
> 
> 	[SM] Let me cite myself here:
> "My point is, please refrain from completely unhelpful complexity comparisons by virtue of pseudeocode, especially if not both qdiscs to be compared actually exist in pseudocode in the first place...."
> 
> I was not so much trying to offer an academically correct complexity comparison, but to show that Bob's approach was/is a waste of everybody's time and not useful at all, and that it is rather simple to do a bit better, by at least comparing real code instead of pseudocode...
> 
> 
> But sure if we want to go that unproductive route here are some missing headers:
> 
> 164 lines: https://github.com/L4STeam/sch_dualpi2_upstream/blob/sch_dualpi2/include/net/codel.h
> 255 lines: https://github.com/L4STeam/sch_dualpi2_upstream/blob/sch_dualpi2/include/net/codel_impl.h
> 74 lines: https://github.com/L4STeam/sch_dualpi2_upstream/blob/sch_dualpi2/include/net/codel_qdisc.h
> 
> 724+310+164+255+74 = 1527
> 
> versus 746 for the dualq, but that uses its own private PIE version, let's see how/if that survives upstreaming into the linux kernel.
> 
> Best Regards
> 	Sebastian
> 
> P.S.: I assume you actually had a look at the relevant files yourself and just omitted the numbers to keep things concise.
> 
> 
>> 
>> 
>> -- 
>> i.
>> 
>>> and 746 lines for https://github.com/L4STeam/sch_dualpi2_upstream/blob/sch_dualpi2/net/sched/sch_dualpi2.c do not seem to support your hypothesis, unless we want to quibble over individual lines of code here. And yes the runtime cost for fq_codel probably is a bit higher than for dualq, but I would be amazed if we would talk about an order of magnitude (base2) here...    
>>> 
>>> My point is, please refrain from completely unhelpful complexity 
>>> comparisons by virtue of pseudeocode, especially if not both qdiscs to 
>>> be compared actually exist in pseudocode in the first place....
>