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

Jonathan Morton <chromatix99@gmail.com> Sat, 23 May 2020 22:52 UTC

Return-Path: <chromatix99@gmail.com>
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 2610D3A0F38 for <tsvwg@ietfa.amsl.com>; Sat, 23 May 2020 15:52:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level:
X-Spam-Status: No, score=-1.848 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 KTPMnKzOEKMc for <tsvwg@ietfa.amsl.com>; Sat, 23 May 2020 15:52:52 -0700 (PDT)
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 82DAA3A0F37 for <tsvwg@ietf.org>; Sat, 23 May 2020 15:52:52 -0700 (PDT)
Received: by mail-lf1-x129.google.com with SMTP id z206so4913917lfc.6 for <tsvwg@ietf.org>; Sat, 23 May 2020 15:52:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=i7ZS3q5GqELo3zx1aU0iLaKfS7W+XNxPRrHuC+5o75k=; b=BT83bGmOH4HhlJrfVbnzX/EnLZc+A6vxg3hppKQYBStYo8pZOtYj4IL3186h0ZTMzs EzM5tawgYb304EMUqn4W+XmpvmqowMaDNyaZWPBVew09Godq1IjlY29qI9I8nDtKIzUJ dlssIadnlqPVV9WzWx2R4VDMxXhrTp4e/YsYWFLdSPmDMffjFDNSca2QSGDjoj0qXWH6 JvIbMJ/XzK+jDk8Ef5LdXAQ8w2SRKbWHUErGAax+wXhLJsCBS1jyDeViVGGbLm//U6mR +gk9qze6grYAAV4VuC3ZIMi1nbKM8tdUY4fWo6G2BwYVb2x7GuIKJZilvRI7E1GC6sp1 j1uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=i7ZS3q5GqELo3zx1aU0iLaKfS7W+XNxPRrHuC+5o75k=; b=M8He+USz+TgrMWPJ47J3u6DSnLXMBeZNHnS7u8wob6QbZ8DKfIB4++dR9clttY8pHC EQ36BdVIHKEx8aI5ahYzNsF1ZHLHgJhu/TnCAqnQYPppT7bcrC4ejaBRnrWQ9Df/Pm9q Uhimo1RqPlfwZ8cgKjir+JK4GkKGBrIHOT/4gPNKMABdxSD4p4Tn7owWsDR2mUSPzbi8 VQKtVPvA6aoHgV6WONoOzOcnV5riKQY3qMms3yixYORlqgbajgF1NDyjot7IKOjP237O jLEWxsEeYcArF9cDeBJGix2VvjJgVYdxRlLM5V78vIricTEnsAEAIltnjmAuRngoaiEU odeg==
X-Gm-Message-State: AOAM5332lvtqiASpfb7LjNYw+dyJRdVooHrNhl8lJKJq14w7D61r8PEX 090L901sCBXBn9jYgRZ7CLE=
X-Google-Smtp-Source: ABdhPJyBfVs9lhkEBRpJaxmABrc8XNBLj6lyXaZKOR8Drm2DFtDZ+TPA+vYA+8vyN+Zq8P7PXe1/Kw==
X-Received: by 2002:a19:490d:: with SMTP id w13mr10704957lfa.96.1590274369856; Sat, 23 May 2020 15:52:49 -0700 (PDT)
Received: from jonathartonsmbp.lan (83-245-235-192-nat-p.elisa-mobile.fi. [83.245.235.192]) by smtp.gmail.com with ESMTPSA id n8sm3405596lfb.20.2020.05.23.15.52.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 May 2020 15:52:49 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.5\))
From: Jonathan Morton <chromatix99@gmail.com>
In-Reply-To: <C59E1B15-DED6-491F-8D46-5E2F81CF31B4@gmx.de>
Date: Sun, 24 May 2020 01:52:47 +0300
Cc: Ilpo Järvinen <ilpo.jarvinen@cs.helsinki.fi>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, Joseph Touch <touch@strayalpha.com>, tsvwg@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <4617733C-4736-49B6-8BAD-96FE2447A639@gmail.com>
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> <C59E1B15-DED6-491F-8D46-5E2F81CF31B4@gmx.de>
To: Sebastian Moeller <moeller0@gmx.de>
X-Mailer: Apple Mail (2.3445.9.5)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/wVG0czIu-9MzVEC5Xsurn8LpYGQ>
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:52:54 -0000

> On 24 May, 2020, at 1:09 am, Sebastian Moeller <moeller0@gmx.de> wrote:
> 
> 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.

There are definitely limitations in comparing implementation complexity by lines of code, especially as implementing certain algorithms in hardware requires more complexity than others, despite needing only similar lines of C.  But as long as we're doing this, let's compare apples to apples and use the nearest equivalents in SCE:

net/sched/sch_cnq_codel_af.c -  926 lines
net/sched/sch_lfq_cobalt.c   - 1049 lines

net/ipv4/tcp_dctcp_sce.c     -  224 lines
net/ipv4/tcp_reno_sce.c      -  223 lines
net/ipv4/tcp_cubic_sce.c     -  655 lines

The qdiscs above contain private copies of their AQMs and all relevant algorithms.  So from this we can assemble a simple SCE implementation with 926+224 = 1150 lines, or a more sophisticated one with 1049+655 = 1704 lines.

The latter includes such niceties as HyStart, improved scaling to high BDPs, flow isolation, and queue overload protection in addition to the basic AIMD and HFCC functionalities, for only a few more lines of code relative to the combination of DualQ and TCP Prague, which lack all of those additional features.

We could also include net/sched/sch_cake.c, which at 3143 lines represents an FQ-AQM system that is definitely more complex than anything previously mentioned in this thread, but has nevertheless been deployed in practice in its intended role.  Of course, nobody sensibly expects Cake to be deployed in high-speed core networks, but that's not what it was designed for.

 - Jonathan Morton