Re: [tsvwg] ECN encapsulation draft - proposed resolution
Jonathan Morton <chromatix99@gmail.com> Tue, 27 July 2021 01:37 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 6EFF33A0E4F for <tsvwg@ietfa.amsl.com>; Mon, 26 Jul 2021 18:37:28 -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=unavailable 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 y62kxkooWC9Y for <tsvwg@ietfa.amsl.com>; Mon, 26 Jul 2021 18:37:23 -0700 (PDT)
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (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 8D8B43A0E50 for <tsvwg@ietf.org>; Mon, 26 Jul 2021 18:37:23 -0700 (PDT)
Received: by mail-lj1-x232.google.com with SMTP id l17so13790148ljn.2 for <tsvwg@ietf.org>; Mon, 26 Jul 2021 18:37: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=6kp85iqzSrk1k02icQAmT+ik3CTg+OtmRE8zTXVlJWw=; b=tIxztt1BLsesMwt3uMxzxe81JTTbb582isZL6hkkuEOlVkiAcru/yIHsMyGUhC75bt 1hgayVPW+PxJ0zW32Iya5Y4IQHOuysGEXHWKcpnyx/ScUQNP4iGPO1GbYZ5kz2bnbEvf P+RfLmiY1omBnZ1T05OK6k+zv8TSkm7hr58n9kEhxnLHiKoRJ9+ldtbURONxHW8GQEkt pR94fcogOpKpw99KpdTCdPPQ49Wmw3+GexA4RMJpdwvhDYy9mMAcnVSkZt5yoPPiBE6N 9SRoPlKse8jmXVZ1nSEJwQVTniPw4T0Iy+0r41bnmFadUGeud1Cs6EAXhLNEsWCOYVwT XQVg==
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=6kp85iqzSrk1k02icQAmT+ik3CTg+OtmRE8zTXVlJWw=; b=GC0Ar+lHmyn27thrWoPpDUppyvCrtnkire9FQ8dl89qXIlds/M0NUOB+YKXT1FrX+Q lNl2HmqFUakbhDn5cMwuNayrkI70fiOPdnCQLfPQYnJdcybIfaqi7aOXbP8D+pYkQn0c rsgmqpTruQuvP2xrfir8B6ApLBIIcJtyo95s9VdhU7uqeayGsVnFlIMpKOWB0uYFZNjc 0o1UjZcKgHMx/reYd/73y5syzHAkTtjZ8vX88sdsl/jan7TQ8ZGOhh75I68roiAdrzAD D6mfIXEyyqoUsjuHQ/VhgayEG5+q6GcrlAYhEZaV5lpXEQFBFOGj+fFskgVNF+T5yDs+ Sjyg==
X-Gm-Message-State: AOAM531zgBd2wnJr/oSQDi1N6M11kx9bTDBtVCcRJK1mXJfd583l+b9q sCSQAa7tUQEFkl6cpxMYrgI=
X-Google-Smtp-Source: ABdhPJz1JvhJls+WECk5BwhmfgQAdK8wLPtoM/Qgkq7I25se0lXvwWF/++3iAmk9zXndSS6mi9rg2A==
X-Received: by 2002:a05:651c:218:: with SMTP id y24mr14162669ljn.448.1627349840105; Mon, 26 Jul 2021 18:37:20 -0700 (PDT)
Received: from jonathartonsmbp.lan (37-136-219-147.rev.dnainternet.fi. [37.136.219.147]) by smtp.gmail.com with ESMTPSA id j26sm148759lfh.71.2021.07.26.18.37.19 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Jul 2021 18:37:19 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.7\))
From: Jonathan Morton <chromatix99@gmail.com>
In-Reply-To: <b483b55f-8a82-ef5b-9198-3b32f52d7245@bobbriscoe.net>
Date: Tue, 27 Jul 2021 04:37:17 +0300
Cc: Markku Kojo <kojo@cs.helsinki.fi>, Donald Eastlake <d3e3e3@gmail.com>, John Kaippallimalil <kjohn@futurewei.com>, Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <1523B036-C66E-4691-84BA-BB675F957160@gmail.com>
References: <MN2PR19MB40454BC50161943BC33AAAD783289@MN2PR19MB4045.namprd19.prod.outlook.com> <43e89761-d168-1eca-20ce-86aa574bd17a@bobbriscoe.net> <de8d355d-08b6-34fb-a6cc-56755c9a11ee@bobbriscoe.net> <MN2PR19MB4045DB9D2C45066AEB0762DB83259@MN2PR19MB4045.namprd19.prod.outlook.com> <alpine.DEB.2.21.2106021717300.4214@hp8x-60.cs.helsinki.fi> <BE497F82-5452-41A1-943F-7ABD0048C7F9@gmail.com> <56c2887b-5e9e-c2b6-c760-81e2627400a2@bobbriscoe.net> <3a66effa-9269-a9b0-48e8-d48bd46d70d1@bobbriscoe.net> <alpine.DEB.2.21.2106221542420.4160@hp8x-60.cs.helsinki.fi> <D7734F0E-3A3F-4E82-98E3-035B45AC5876@gmail.com> <b483b55f-8a82-ef5b-9198-3b32f52d7245@bobbriscoe.net>
To: Bob Briscoe <ietf@bobbriscoe.net>
X-Mailer: Apple Mail (2.3445.9.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/zBUl9tFucKpmvZ5z6XXTL78HJKw>
Subject: Re: [tsvwg] ECN encapsulation draft - proposed resolution
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: Tue, 27 Jul 2021 01:37:29 -0000
>> So, rather than playing with formulae, I organised an empirical test over the weekend to see what the effects really are. That accounts for the long pause before replying. >> >> https://sce.dnsmgr.net/results/mss-tests/ >> >> The test involves three flows with the same CC algorithm running through a common single-queue, single-instance AQM. The AQM is Codel as an exemplar of time-domain marking, or PIE as an exemplar of packet-mode marking, both with ECN enabled. The test was repeated for Reno and CUBIC, as exemplars of standards-track CC, and DCTCP as an exemplar of 1/p response. The path parameters are 50Mbps throughput, 80ms RTT, sufficient to keep CUBIC out of "Reno compatibility" mode. >> >> The three flows differ in terms of packet and segment size. Flow 1 is a conventional bulk flow using a full 1460-byte MSS. Flow 2 reduces this to 730-byte MSS. Flow 3 uses a 1460-byte MSS, but goes through a path with reduced MTU (with PMTUD disabled) causing fragmentation into two packets per segment, so has the same packet rate at the AQM as Flow 2. > > [BB] Can you quantify the MTU? So we know the sizes of the first and second of each pair of fragments. I see a legend label later with 1280 in it. Is that the MTU? It doesn't actually matter to the main outcome, I'd just like to be able to double check. Agree that the series labels aren't as clear as they should be. The third flow uses an MSS of 1460 (same as the first flow), but is sent through a link with an MTU of 1280, with MTU discovery disabled so that it gets fragmented there. The second flow uses a smaller MSS and is not fragmented. >> Fragmentation reassembly is as per RFC-3168. >> >> A well-conditioned congestion system should give each flow roughly equal application goodput on average. Some allowance can be made for bandwidth lost to headers in the smaller packets, but this is a small effect. But what do we actually get? > > [BB] In /this/ exercise, we are not trying to make flows with different packet sizes have the same bit-rate, if they didn't have the same bit-rate without fragmentation. > > While that might be an interesting research project, it is boiling the ocean compared to the task in hand. We are only trying to ensure that flows that are reframed at a lower layer, then reassembled, end up with the same rate as if they had not been reframed then reassembled (modulo any slight differences due to differences in total header sizes, as you say). That is the art of designing an experiment that only changes the one parameter of interest. When we already have a simple solution that also solves the larger problem, why not just use it? >> The theoretically ideal case is DCTCP with time-domain marking, where the expected goodput is exactly equal for all three flows. The actual observed goodput is not quite equal, but reasonably close and very consistent over a 10-minute period: >> >> https://sce.dnsmgr.net/results/mss-tests/dctcp-fq_codel-plot.html > > [BB] You started out the email saying CoDel. However, the title of this plot (and the file name) says fq_codel. Surely you didn't mean to use FQ for this experiment? If the bottleneck includes a /scheduler/ designed to give each flow the same bit-rate, it will do that - irrespective of packet sizes, fragmentation, framing, or anything else for that matter. If you look more carefully, you'll notice that we used fq_codel with the "flows 1" argument, which disables the FQ mechanism and places all traffic in the same FIFO and the same set of AQM state. So we accurately describe it in prose as just "Codel". We could just as validly have used Cake with the "besteffort flowblind" arguments to achieve a similar effect. >> But if we apply packet-mode marking, the smaller packets are markedly disadvantaged compared to larger ones, approximately in proportion to the average packet size, and again this is consistent for 10 minutes straight: >> >> https://sce.dnsmgr.net/results/mss-tests/dctcp-pie-plot.html > > [BB] This proves that the disadvantage of using small packets has nothing to do with fragmentation or reassembly, because both flows 1 & 2 do not go through fragmentation/reassembly, and flow 2 has half the rate of flow 1, because its packets are half the size. This is the well-known fact that flows using smaller packets disadvantage themselves. That has nothing to do with fragmentation or reassembly. > > In fact, it shows exactly what I predicted. Even though flow 3 sends the same size packets as flow 1 and is identical in every way, it ends up with half the rate, the only difference having been that flow 3 goes through RFC3168 fragmentation and reassembly with the AQM marking ECN in between. This is an accurate statement of the problem to be solved. Time-domain marking (as used by Codel) combined with the existing RFC-3168 reassembly rule solves the problem. Packet-domain marking exposes the problem on both flows 2 and 3, and your proposed reassembly rule solves it for only flow 3, not for flow 2. - Jonathan Morton
- [tsvwg] ECN encapsulation draft - proposed resolu… Black, David
- Re: [tsvwg] ECN encapsulation draft - proposed re… Bob Briscoe
- Re: [tsvwg] ECN encapsulation draft - proposed re… Bob Briscoe
- Re: [tsvwg] ECN encapsulation draft - proposed re… Black, David
- Re: [tsvwg] ECN encapsulation draft - proposed re… Markku Kojo
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… Bob Briscoe
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… Sebastian Moeller
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… Sebastian Moeller
- Re: [tsvwg] ECN encapsulation draft - proposed re… Bob Briscoe
- Re: [tsvwg] ECN encapsulation draft - proposed re… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] ECN encapsulation draft - proposed re… Bob Briscoe
- Re: [tsvwg] ECN encapsulation draft - proposed re… Markku Kojo
- Re: [tsvwg] ECN encapsulation draft - proposed re… Markku Kojo
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… alex.burr@ealdwulf.org.uk
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… Rodney W. Grimes
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton
- Re: [tsvwg] ECN encapsulation draft - proposed re… Sebastian Moeller
- Re: [tsvwg] ECN encapsulation draft - proposed re… Bob Briscoe
- Re: [tsvwg] ECN encapsulation draft - proposed re… Jonathan Morton