Re: [tsvwg] L4S Issue #16: Classic ECN Fall-Back: Tech Report updated ... and standby for more

Jonathan Morton <chromatix99@gmail.com> Fri, 24 April 2020 22:49 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 54BD73A0EB6; Fri, 24 Apr 2020 15:49:11 -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 NuuW_POQKpQW; Fri, 24 Apr 2020 15:49:09 -0700 (PDT)
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (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 1616A3A0EB5; Fri, 24 Apr 2020 15:49:09 -0700 (PDT)
Received: by mail-lj1-x231.google.com with SMTP id u15so11647431ljd.3; Fri, 24 Apr 2020 15:49:08 -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=OoZihYj98u4BFqYVgdanw6fOp5B0O7BnKcBK7P876vU=; b=gY68HbCoXNh4pg9q1IcXJDH6LIxeQm2ylVOU0aRJnZD9UuSoruin3AyvMQlcI9HO9T wBKfMdOc/KPCI2b2VhnhYQ+qGj/hAed4KzHPBFMXjtFcwPvtUeDBLvvhWjBKiuzIF3bu lad2IkNlBQegaMGm432bEZ4xAY2sPw2wCs0MrVUwIzLRkLgGWd3DGYTR0Z6dBevKv9is Ni2O98mUGEijmSd2cMYdwU/CPDpgRhfB1MzigSF9lm/t+M47jDK6g9CUIosW2rKKxA80 sc2pGWauYj0nKzLuggSFyvFmaNyrFN+hRiXQKq6s3jhIKZMYw1NdNmcHWJrNqF3Bpp5B 5xZw==
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=OoZihYj98u4BFqYVgdanw6fOp5B0O7BnKcBK7P876vU=; b=Xoay1Gr41Cm/MM2xMMC+cYOxYLIvq5ZWgcQRf/1yvXDm8NEZtxba1zz58h4ydUwfWs FpMucKR3xKxLwuQ10q/jUxeTdZQ+w2KZh95fOSinHGu/UuGRyzStRB+j2xRDEiBGvP8n fUxvQisUdi+2+o2Q/93DYWHPkqJIWqikMrOPdUD9vjKf6IlSQiMD3N+cHviCMpC9WVOp BtmAdtM1PgvK8wMgq+zKP2maxiNESj3DRL0ky+e86YbbxvzTaXUKfI439LmqpvvNKtzJ Nweff6fQd0FXsHTKlhVE/n99WbQE7E3J+GmGAKlrc3dYVgCXYJ5AXk9qi8pJXZRuISj0 4Rkg==
X-Gm-Message-State: AGi0PuZrwszhmIGUJALuhUYX4+vub27fon9X4bopp0DNBz+kTNmnMcLf zK/vlJsI4QdkoI6NaEkgZVfjT40V
X-Google-Smtp-Source: APiQypLda+Qq1UHiTO02jIkPW62uA8sLmUaXYOjnnwKq26udH7QHE5br627wFi5r0GKLO/Kgr1QcLQ==
X-Received: by 2002:a2e:9258:: with SMTP id v24mr7178220ljg.109.1587768547037; Fri, 24 Apr 2020 15:49:07 -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 a26sm5384848lfl.66.2020.04.24.15.49.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Apr 2020 15:49:06 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Jonathan Morton <chromatix99@gmail.com>
In-Reply-To: <0315efd8-4941-bd74-c1c1-6782210ab618@bobbriscoe.net>
Date: Sat, 25 Apr 2020 01:49:04 +0300
Cc: tsvwg IETF list <tsvwg@ietf.org>, "tsvwg-chairs@ietf.org" <tsvwg-chairs@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <B88994D7-4201-497C-B8E9-F1E8C8274ABF@gmail.com>
References: <6c9bdc29-38d5-eccf-3255-7730d58ea15a@bobbriscoe.net> <DCE6B60C-20C7-4D6B-9AB1-6171D6194C74@gmx.de> <9CAE8E49-30CA-4043-A555-DF90D7EFA05A@gmail.com> <0315efd8-4941-bd74-c1c1-6782210ab618@bobbriscoe.net>
To: Bob Briscoe <ietf@bobbriscoe.net>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/vIyN3t_CSQaLQ-bdz2L0g9eb1RI>
Subject: Re: [tsvwg] L4S Issue #16: Classic ECN Fall-Back: Tech Report updated ... and standby for more
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: Fri, 24 Apr 2020 22:49:12 -0000

> On 24 Apr, 2020, at 9:42 pm, Bob Briscoe <ietf@bobbriscoe.net> wrote:
> 
> 1a) Of course one can make a Classic AQM undetectable by altering its configuration so that will evade the heuristics of this algorithm. You are welcome to consider this a problem with our algorithm if you want. This looks to me more like clutching at straws.

You may notice that the plot we illustrated this point with features RED - an old AQM that is notoriously difficult to configure correctly, but widely implemented in hardware.  An AQM that is difficult to configure correctly will, in practice, often be configured incorrectly - and entirely by accident, that is what we initially did.

These are actually the very first settings we tried with RED, *before* we stepped back and realised that a 150KB hard limit at 50Mbps corresponds to just 25ms, and that the default parameters then cause marking to begin at only about 2ms.  It was then that we added a second RED configuration with a 400KB limit, taking the latter from the example in
the tc-red man page.  Incidentally, the man page provides no practical guidance on choosing the limit value correctly.

What's interesting about this is that conventional flows (and SCE ones) were perfectly happy with the 150KB configuration.  A network engineer could easily set this up, run some measurements, and be quite satisfied with the results.  It's also easy to imagine a 100Mbps device with a 256KB buffer that was configured more or less similarly, simply because 256KB was the amount of memory available at the right speed and the right price at the time of manufacture.  So this is a configuration you should expect to encounter in the wild, at least occasionally.

The 400KB configuration begins marking at 5.5ms, which is similar to Codel's default target.  However, if we closely examine those plots, we can see that TCP Prague is basically on the edge of its detection parameters, and still exhibits some L4S-type responses.  The easiest to spot is the roughly 35 seconds it takes to switch into classic fallback mode on the 160ms path, well beyond the 20-second failure criterion mentioned in your paper.  For reference, 160ms corresponds to a Europe to West Coast USA path.

All of which brings mildly into question your initial assumption that Codel would be the "most difficult" AQM to distinguish from L4S.  Assumptions such as these often lead to spherical cows.

But returning to Codel, the default settings are tuned for "typical" Internet paths, whose median is often quoted at 80ms.  Supposing someone had little interest in the world beyond their home state and their ISP's local CDNs, and decided to tune Codel to match that philosophy.  Cake (which uses a version of Codel internally) actually includes a preset keyword for that purpose; "regional" selects 30ms interval, 1.5ms target.  Only a minority of users will bother to change the default, but this alternative setting serves a legitimate use case.

Here is how L4S reacts, predictably:

http://sce.dnsmgr.net/_archive/ect1-2020-04-25T001927/l4s-s2-twoflow/l4s-s2-twoflow-ns-cubic-vs-prague-cake_regional_-20ms_tcp_delivery_with_rtt.svg

Obviously, the behaviour is much better if we leave Cake's FQ features switched on, but that is not the point of the present discussion.

> 1b) You will see that we have not tried to fix the false positives yet, because they only occur in situations where a fairness problem does not arise from the detection failure. We do plan to address these to some degree, and the tech report I sent out describes how we intend to. If you do find genuine cases where these false positives actually affect the fairness goal, then we will raise the priority of this question.

But the false positives *would* result in a fairness problem, as mentioned in the text, if a second L4S flow were added which was not subject to the added jitter.  This second flow would squeeze out the one experiencing the false-positive detection, in exactly the same way as it would squeeze out any other conventional-behaving flow.

Granted, this is not a situation directly relevant to friendly coexistence on *existing* networks.  We included false-positive results mainly to point out that there is little if any margin for merely adjusting parameters of the heuristic to include the false-negative cases identified elsewhere.

> 1c) I couldn't find anything further in your pages to explain what you meant by "insensitivity to the delay variation occurring around a packet loss". Please elaborate. This might be related to #2 below, and therefore might have gone away now the bug is fixed.

We simply mean that TCP Prague apparently did not switch into classic fallback mode, despite the presence of a very strong delay variance signal, when there were also a lot of packet drops.  This was visible also on one of the PIE runs that *did* have ECN marking enabled, but had a hard limit low enough to also cause tail loss on slow-start.  This is of course worth re-testing with the bugfix.

> 2. The insensitivity to packet loss was a simple bug. Thank you for pointing out the symptom. There was no evil intent to ignore losses. Olivier has already issued a bug fix, I believe - and thank you again for you help on this one.

Nevertheless, I think it is very much worth pointing out that such a serious (if easily solved) bug made it past your test suite, however extensive you say it is.  I think our decision to go for a broad rather than deep approach to testing was the right one.

In the meeting, the discussion over ECT(1) will most likely centre on how each proposal copes with traversing a conventional network.  We think SCE is in an excellent position here, as RFC-3168 compliant behaviour is built into the design.  It is up to you to prove that L4S is just as good - but we have counterexamples, such as the one I linked above.

Ultimately I think what L4S will need to detect with its heuristic is not the latency-controlling behaviour of the AQM, but the presence of competing conventional flows.  It is precisely in the latter case that the potential for starvation exists.  The delay-variance heuristic is a rather poor substitute.

 - Jonathan Morton