Re: [tsvwg] [iccrg] IETF104 ICCRG TCP Prague presentation

Jonathan Morton <chromatix99@gmail.com> Thu, 04 April 2019 00:28 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 4650C12031C for <tsvwg@ietfa.amsl.com>; Wed, 3 Apr 2019 17:28:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.749
X-Spam-Level:
X-Spam-Status: No, score=-1.749 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 EFh_0zCgH6QX for <tsvwg@ietfa.amsl.com>; Wed, 3 Apr 2019 17:28:17 -0700 (PDT)
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) (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 682951201D7 for <tsvwg@ietf.org>; Wed, 3 Apr 2019 17:28:17 -0700 (PDT)
Received: by mail-lj1-x235.google.com with SMTP id v22so449505lje.9 for <tsvwg@ietf.org>; Wed, 03 Apr 2019 17:28:17 -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=3DQ6ucOQOYGk6BYBO+8JrgtWalAO0YZVOGWaOQgQGBc=; b=DnjhgkQj/Zj5uAHjlnuTIwey+aLM+/zFgZRwtKUcoTFhWkH8AI7ykHyjqrDh5XgVgE 6hpocrzQLW+5LpEQkrxiSaa5/FsrOg5YcANeYKVooBmK5Kn+7xdy8CBJ5BFpQ/j/S+rW e/7hwjGBKgDI2CbSDiuMtS8jRDsP9k1siUUDr/czACnhDz6FU6AsMpTMnj7nz5a88QlR nJnBT01XpgEAmpsYHQ2lgH/jk3FyV3BDx8T2fOdnnV/CypmMBnic0CVdVU9C2AkdUhlH Cot9Qdq769rl35cJcKiQwzS6p61VA/rhkubb1kdXQEKVlwYxxNG8Qfdgi2RidavLCrWQ V3tg==
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=3DQ6ucOQOYGk6BYBO+8JrgtWalAO0YZVOGWaOQgQGBc=; b=abi3qtl9QrXwGie1oYtj53S2xH0IwED4CLWjSnA073/LhTrsyGOLYQA4+wyPRU10WF NJk/6QACjsOTs0a+A0w7JFdaOYvcDaiRGT9W9zmUZaUSSZmVTPSGR/X5C9/8s8I8d4qj HZF8lvHUHs901d8eZ8EMrKP8HDqT9FFN2tf+zjWdT6WDMiJVXjyPLUfulTMzs+8JzWYa ro/+TaNIKxRXIwbC3St2iCs4SbrwhIEMsbYo4c4pFxRD2KgiaBFTMGH2amA7HfinmCi7 Xvi+VIhGCFpURtqvd7R3QBtLqnAldSGCtjXzXIYwoe15sjgC5AH4iLqMWgHuE3cUKOR7 a8hA==
X-Gm-Message-State: APjAAAWAHWYlUg06wZIOz346iSMuivdMyEJXoYxyOZlK7ZG5QmG12t4C ju6Jbn2qXtj0fFQQVBAaivQ=
X-Google-Smtp-Source: APXvYqwjcNx2raET8Ad2xNtWt3yrgZvjNs6WXkGbxovYu7w8fCULQdXPGN10HBxvxjNsJOb9xsGhMQ==
X-Received: by 2002:a2e:978c:: with SMTP id y12mr1496549lji.70.1554337695487; Wed, 03 Apr 2019 17:28:15 -0700 (PDT)
Received: from jonathartonsmbp.lan (85-76-23-211-nat.elisa-mobile.fi. [85.76.23.211]) by smtp.gmail.com with ESMTPSA id e14sm3922109ljk.45.2019.04.03.17.28.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Apr 2019 17:28:14 -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: <4507BFFD-A68A-4E8A-8FFB-347F95E3F2E8@cablelabs.com>
Date: Thu, 04 Apr 2019 03:28:13 +0300
Cc: Bob Briscoe <in@bobbriscoe.net>, "iccrg@irtf.org" <iccrg@irtf.org>, Sebastian Moeller <moeller0@gmx.de>, tsvwg IETF list <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <2491A216-4522-4942-BDEB-301D61CC5D03@gmail.com>
References: <623CA1C6-3425-46E6-AFD9-6FD7D0DBE422@gmx.de> <a7bf3c8d-bb9e-e7e8-3343-ccdbac795591@bobbriscoe.net> <82B40A22-F2C2-4D56-868A-F53D7AEA37D7@gmail.com> <4507BFFD-A68A-4E8A-8FFB-347F95E3F2E8@cablelabs.com>
To: Greg White <g.white@CableLabs.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/G9KOlDMqmyaGy_mzqUxZKjchJ1Q>
Subject: Re: [tsvwg] [iccrg] IETF104 ICCRG TCP Prague presentation
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: Thu, 04 Apr 2019 00:28:19 -0000

> On 4 Apr, 2019, at 2:28 am, Greg White <g.white@CableLabs.com> wrote:
> 
> It will be the case that many such "equivalent devices" can (and will) support a dual-queue AQM (not fq), which (where available) will eliminate the need for ingress shaping, and provide a better result.    If fq_codel (or CAKE) were updated to utilize the L4S-style of ECN (or even just treat ECT(1) as non-ECT), this would be a non-issue.   How feasible would that be? 

The present out-of-tree version of Cake supports an L4S-style high-fidelity ECN marking method, simultaneously with conventional ECN marking.  It does so using the SCE signalling method, with ECT(1) being an output rather than an input.  This is, in fact, the running code we had at the time of our TSVWG presentation.

Since then we have adapted a pair of FreeBSD endpoints to understand this new signal and respond appropriately to it (using a response function very similar to DCTCP).  Crucially, they continue to respond normally, with TCP-friendly semantics, to non-SCE middleboxes and/or when conversing with non-SCE endpoints.  These are early results from early code, but they prove the concept.  

This bears repeating: we have effectively *rehabilitated* DCTCP.

It took three developers one week to do this, amidst many distractions.

> In fq_codel/CAKE currently, does the AQM switch from CE mark to packet drop at some higher threshold of sojourn time?

Technically yes, there is a failsafe intended for handling flows unresponsive to ECN (eg. due to blackholes) or insufficiently responsive to Codel-induced drops on Non-ECT flows.  However, this only kicks in when the queue backlog limit is reached.  It is a simple implementation of the BLUE algorithm, which ignores ECN and just drops, and is self-resetting.

> If so, would this provide for a faster fall-back to Reno than you considered in your analysis?

Not normally; the backlog limit is typically set to many RTTs' worth of queuing delay.  The mechanism has been carefully tested and works well, but rarely activates in practice.

> Alternatively, if fq_codel/CAKE were to treat ECT(1) as non-ECT (or implement the L4S style ECN) this would again not be an issue, I believe.

Perhaps, but I thought FQ AQMs weren't much of a problem to begin with - aside from the ingress-queuing problem?  I'm also reluctant to interpret ECT(1) or CE incompatibly with RFC-3168, unless given very good reason - and I currently have a good counter-argument.  If I may quote from that document, it does specifically contemplate use of the fourth codepoint to signal "mild congestion":

>    One possibility might have been for the data sender to use the fourth
>    ECN codepoint to indicate an alternate semantics for ECN.  However,
>    this seems to us more appropriate to be signaled using a
>    differentiated services codepoint in the DS field.
> 
>    A second possible use for the fourth ECN codepoint would have been to
>    give the router two separate codepoints for the indication of
>    congestion, CE(0) and CE(1), for mild and severe congestion
>    respectively.


It goes on to suggest problems with incremental deployment of such a scheme, but I believe SCE overcomes those problems elegantly.  As I have previously pointed out, the remaining benefits of L4S can be realised through assigning a DSCP to a PHB with the desired characteristics, and having something like DualQ implement that PHB.

I can't help noticing, meanwhile, that DualQ seems to be designed for use wherever a single-queue AQM would normally fit (though I have my doubts that it will work on much hardware already deployed at crucial locations).  Yet at the same time, you claim such single-queue AQMs are presently (and will remain) so rare that you haven't even developed a method of reliably detecting them.  This seems like an important discrepancy.

Meanwhile, work continues.

 - Jonathan Morton