Re: [tsvwg] [Bloat] [Ecn-sane] [iccrg] Fwd: [tcpPrague] Implementation and experimentation of TCP Prague/L4S hackaton at IETF104

Jonathan Morton <chromatix99@gmail.com> Wed, 20 March 2019 21:56 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 CF6FD131290 for <tsvwg@ietfa.amsl.com>; Wed, 20 Mar 2019 14:56:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.75
X-Spam-Level:
X-Spam-Status: No, score=-1.75 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] 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 qpLlb-njPX2V for <tsvwg@ietfa.amsl.com>; Wed, 20 Mar 2019 14:56:23 -0700 (PDT)
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (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 5A61913128E for <tsvwg@ietf.org>; Wed, 20 Mar 2019 14:56:23 -0700 (PDT)
Received: by mail-lf1-x12e.google.com with SMTP id 10so3080654lfr.8 for <tsvwg@ietf.org>; Wed, 20 Mar 2019 14:56:23 -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=7xiPj1X7ib8rL4usdV0TAOK3/MC+kRxQBS6myjEajac=; b=W0yOyQK+zKTgkRWS2JgRzGleEK0JKB7tmhinTUMLZJ5b281KUZCSQ1OWCLoG3Hd9Ge iq7qN0duZJLxHzforYd6jXF0vOCIx9fHEfg+r/zagEE4zhuWeOyQG4bY5nPMXrs8pHZa Dz9wgtMFXKQ61nE9V/gYZVXSaag8ToarC4an0KKbYFXY7bLT0/Cstzt09H9849v+8UIu gVjf9GWzC+FH+hEX9EaGdv5ja9Pj8xRAY70jnKEaxJgE8WiaZUtCzYn2MKRS1pk1y7Y7 coZKP6o72zoLFdKnXMWeOfmiD5Og0hoBZNWrbXXgiS5/UR9sP9EfVGdmNWcFwL+8G/sD fdWA==
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=7xiPj1X7ib8rL4usdV0TAOK3/MC+kRxQBS6myjEajac=; b=kVD4338mkyfMmeudTV/BjEMon+rZQ/xXV26xlYGB2v3krhGmX2qmPOzPkOtzKosO3N RLEN2/Fk1uqz0h32WNwWYbeSt9W4EVdxL+TgZOoh81LysiY/dV8/ykND8CMIugfP6ey+ xqcIp0Nj/eeaiPAzg/amgFcLqwi1/yd4Kv4QbxulrkhRPwtalxDKwqYb2uftjwB7PhYp 3+SZnE1Hbug1oSTYY8ayZ9G/4PIhbEo4jCEFHZkxQ88re0WEW5Kvovcl45hUSL1SYXcj mArYDmkqzaHweBYhPmoFowspXDe+/XBysDnlUAbRa5Imha9TDTGerZm1EuYN8QvzqsUZ AYNA==
X-Gm-Message-State: APjAAAUUYz2Xq+BdAHRiN1hgh3qlu59Aqd+v4n+0KIy3/rWSCCNsTAKp 6ez1vFkveNQFqDR3+ISbpX0=
X-Google-Smtp-Source: APXvYqxiZcmJcGaUwTfi5R5ddUmOswYNVf4n4tigjrULAWhd8qubXUkhftFS8rD4lEDVES8kadFSpw==
X-Received: by 2002:ac2:5595:: with SMTP id v21mr44214lfg.163.1553118981593; Wed, 20 Mar 2019 14:56:21 -0700 (PDT)
Received: from jonathartonsmbp.lan (83-245-226-9-nat-p.elisa-mobile.fi. [83.245.226.9]) by smtp.gmail.com with ESMTPSA id q3sm582551lff.23.2019.03.20.14.56.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Mar 2019 14:56:20 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Jonathan Morton <chromatix99@gmail.com>
In-Reply-To: <8F2D0BF5-C983-4CC1-BBEB-FFE264C496E8@cablelabs.com>
Date: Wed, 20 Mar 2019 23:56:19 +0200
Cc: "Holland, Jake" <jholland@akamai.com>, Bob Briscoe <ietf@bobbriscoe.net>, "David P. Reed" <dpreed@deepplum.com>, Vint Cerf <vint@google.com>, tsvwg IETF list <tsvwg@ietf.org>, bloat <bloat@lists.bufferbloat.net>
Content-Transfer-Encoding: quoted-printable
Message-Id: <BB8FB053-D4C7-4616-8639-DD5008BA32D4@gmail.com>
References: <d91a6a71-5898-9571-2a02-0d9d83839615@bobbriscoe.net> <CAA93jw5MTdn9EQgpZ0xrjqEi7UKqH3H_741anoB+pa0dtD=fpA@mail.gmail.com> <1E80578D-A589-4CA0-9015-B03B63042355@gmx.de> <CAA93jw7jvjbZkEgO8xc03uCayo+o-uENxxAkzQOaz_EZSLhocw@mail.gmail.com> <27FA673A-2C4C-4652-943F-33FAA1CF1E83@gmx.de> <1552669283.555112988@apps.rackspace.com> <alpine.DEB.2.20.1903151915320.3161@uplift.swm.pp.se> <7029DA80-8B83-4775-8261-A4ADD2CF34C7@akamai.com> <CAHxHggfPCqf9biCDmHMqA38=4y6gY6pFtRVMjMrrzYfLyRBf-g@mail.gmail.com> <1552846034.909628287@apps.rackspace.com> <5458c216-07b9-5b06-a381-326de49b53e0@bobbriscoe.net> <AC14ACBB-A7CC-40E0-882C-2519D05ADC05@akamai.com> <8F2D0BF5-C983-4CC1-BBEB-FFE264C496E8@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/U3L3-kaIrAS8UWvZSioJzkoPHhs>
Subject: Re: [tsvwg] [Bloat] [Ecn-sane] [iccrg] Fwd: [tcpPrague] Implementation and experimentation of TCP Prague/L4S hackaton at IETF104
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: Wed, 20 Mar 2019 21:56:25 -0000

> On 20 Mar, 2019, at 11:48 pm, Greg White <g.white@CableLabs.com> wrote:
> 
> the dual queue mechanism is not the only way to support L4S and TCP Prague.  As we’ve mentioned a time or two, an fq_codel system can also support L4S and TCP Prague.  I’m not aware that anyone has implemented it to test it out yet (because so far most interest has been on dual-queue), but I think the simplest version is:
>  
> At dequeue:
> If packet indicates ECT(1):
>                 If sojourn_time > L4S_threshold:
>                                 Set CE*, and forward packet
>                 Else:
>                                 Forward packet
> Else:
>                 Do all the normal CoDel stuff
>  
> In many cases, all of the packets in a single queue will either all be ECT(1) or none of them will.  But, to handle VPNs (where a mix of ECT(1) and non-ECT(1) packets could share a queue), I would think that including the ECN field in the flow hash would keep those packets separate.   
>  
> *a more sophisticated approach would be to mark CE based on a ramp function between a min_thresh and max_thresh, which could be implemented as a random draw, or via a counting function

The above looks remarkably similar to our proof-of-concept for an SCE middlebox.  Essentially:

At dequeue:
	Do all the normal Codel stuff
	If packet (still) carries ECT(0):
		If sojourn_time > SCE_threshold:
			Set SCE
	Forward packet

And yes, a ramp function between 0 and codel_target would work better.  The above gives us something to test against with minimum hassle.

 - Jonathan Morton