Re: [iccrg] draft-briscoe-iccrg-prague-congestion-control: CE-marked bytes or packets?
rrs <rrs@lakerest.net> Thu, 11 August 2022 13:30 UTC
Return-Path: <rrs@lakerest.net>
X-Original-To: iccrg@ietfa.amsl.com
Delivered-To: iccrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 87B9AC15C532 for <iccrg@ietfa.amsl.com>; Thu, 11 Aug 2022 06:30:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.909
X-Spam-Level:
X-Spam-Status: No, score=-6.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Vt_SBpTRKq-Y for <iccrg@ietfa.amsl.com>; Thu, 11 Aug 2022 06:30:14 -0700 (PDT)
Received: from smtp-out.a.misk.com (smtp-out.a.misk.com [199.47.128.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DE7E9C14F74D for <iccrg@irtf.org>; Thu, 11 Aug 2022 06:30:13 -0700 (PDT)
X-Authenticated-User: rrs@lakerest.net
Received: from 10.1.1.186 (072-239-136-185.res.spectrum.com [72.239.136.185]) by smtp.misk.com (MiskSMTP) with ESMTPSA id 64984b393a8d4e2b87e0d338b8115f47 for <iccrg@irtf.org>; Thu, 11 Aug 2022 13:29:35 +0000
Message-ID: <cfc8e089-32cc-5b54-9361-889b76ed0d82@lakerest.net>
Date: Thu, 11 Aug 2022 09:29:34 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0
Content-Language: en-US
To: Neal Cardwell <ncardwell=40google.com@dmarc.ietf.org>, Bob Briscoe <ietf@bobbriscoe.net>, "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com>, "De Schepper, Koen (Koen)" <koen.de_schepper@nokia.com>
Cc: iccrg IRTF list <iccrg@irtf.org>
References: <CADVnQykxwaqZTGXR-ZMYLEem0rKfAcT7KkHYgsF4dBdWvi2k4w@mail.gmail.com>
From: rrs <rrs@lakerest.net>
In-Reply-To: <CADVnQykxwaqZTGXR-ZMYLEem0rKfAcT7KkHYgsF4dBdWvi2k4w@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/9XXODezjs_2a2AtBvtfyDsTOxj0>
Subject: Re: [iccrg] draft-briscoe-iccrg-prague-congestion-control: CE-marked bytes or packets?
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/iccrg>, <mailto:iccrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iccrg/>
List-Post: <mailto:iccrg@irtf.org>
List-Help: <mailto:iccrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Aug 2022 13:30:18 -0000
Neal: Just a couple of thoughts on your toy example .. inline :) On 8/10/22 6:11 PM, Neal Cardwell wrote: > Re: > https://datatracker.ietf.org/doc/html/draft-briscoe-iccrg-prague-congestion-control-01 > > and the passages: > > "2.3.2. Moving Average of ECN Feedback > ...it measures the fraction, frac, of ACKed bytes that carried ECN > feedback over the previous round trip. ... > > 2.4.3. Additive Increase and ECN Feedback > ...a Prague CC applies additive increase irrespective of its CWR > state, but only for bytes that have been ACK'd without ECN feedback. > ... This approach reduces additive increase as the marking > probability increases..." > > I was curious about the design choice to specify that the algorithm > reacts to the fraction of *bytes* that have been CE-marked instead of > the fraction of *packets*. IMHO it would be useful for the document to > outline the motivation. > > Apologies if I have missed this in previous e-mail discussions or > presentations. I may well have. :-) > > I can imagine a number of potential reasons why it could be > advantageous to react to the fraction of packets CE-marked rather than > the fraction of bytes CE-marked: > > (1) AFAICT byte counters distort the path's ECN marking probability > more than using packet counters. For example, suppose we have a round > trip with 100 packets sent at roughly uniform intervals across the > round trip time: > > o 99 packets of 1 byte each, all CE-marked > o 1 packet of 1000 bytes that was not CE-marked > > Then the byte-based Prague "frac" ("the fraction, frac, of ACKed bytes > that carried ECN feedback over the previous round trip") is: > > 99 bytes / 1099 bytes ~= .09 > > Whereas the fraction of ACKed packets that carried ECN feedback is: > > 99 packets / 100 packet = .99 > > So in this toy example there is a >10x difference in the CE "frac" > signal depending on whether bytes or packets are counted. > > And given that these packets were spaced uniformly across the round > trip, 99% of the time the bottleneck had excess queuing. This 99% > number is well reflected in a packet-based "frac", but seems to imply > that the byte-based "frac" approach dramatically underestimates the > probability that a packet will encounter excessive queuing, aka the > packet CE marking probability. So lets make this a bit more concrete of a toy. Lets say the bottleneck is 20Mbps. Now your 99 packets of 1 byte (assuming v4 and no timestamps enabled) are going to each take 22 microseconds to traverse the bottleneck (assuming bytes of 14<enet>, 20 <ip>, 20 <tcp> 1 <data>). Your 1000 byte packet is going to take 421 microseconds. So you have a delay through the bottleneck for a total of 2,599 microseconds which other packets will feel. Now lets compare that to someone who sent all 1000 byte packets i.e. 421 x 100. So the delay held by those packets preventing the bottleneck from forwarding other packets is 42,100 microseconds or about 1:16. I suspect when you look at the number of bytes as indicating how long your packets take to send through the link thus blocking others the situation looks a bit different (at least not near as lopsided as your simple example illustrated) :-) R
- [iccrg] draft-briscoe-iccrg-prague-congestion-con… Neal Cardwell
- Re: [iccrg] draft-briscoe-iccrg-prague-congestion… rrs
- Re: [iccrg] draft-briscoe-iccrg-prague-congestion… Neal Cardwell
- Re: [iccrg] draft-briscoe-iccrg-prague-congestion… Neal Cardwell
- Re: [iccrg] draft-briscoe-iccrg-prague-congestion… Sebastian Moeller
- Re: [iccrg] draft-briscoe-iccrg-prague-congestion… Sebastian Moeller
- Re: [iccrg] draft-briscoe-iccrg-prague-congestion… Neal Cardwell