Re: [tsvwg] normative text in draft-ietf-tsvwg-aqm-dualq-coupled-06
Bob Briscoe <ietf@bobbriscoe.net> Mon, 22 October 2018 23:21 UTC
Return-Path: <ietf@bobbriscoe.net>
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 C0DB21292AD for <tsvwg@ietfa.amsl.com>; Mon, 22 Oct 2018 16:21:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
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 INykoEtkD_WR for <tsvwg@ietfa.amsl.com>; Mon, 22 Oct 2018 16:21:15 -0700 (PDT)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (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 8CA17126BED for <tsvwg@ietf.org>; Mon, 22 Oct 2018 16:21:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:Cc:From:References:To:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=m/b4JMkZVP0pvZS/9jMy9YQyvEsPpYg1xpT5jn5mbd4=; b=n+uQovSbJR1ksbVwo3+kQh39r UBK/7EotbhTA8EllYbRROQsL3xRptM75vX22C0FCx71XpnneSfm5G8lyFt3N6ATlv08QqYc87PF+x IJc7aMTu7XxpJmvZDvxfkJb9tLH8Tz98buEHtxn6lmr1HQtLbJCmfPjuRXjYkAhwdDMS8if3vPbrT qZ9w1CEEQ0Q2o+eVtl98gzAQzQOhf536J0zYvUrI48S8tdm13eWGDa67u7RDvIh00T2jNZFaos/uk iamQJrcwVBzaszMGobd5PvF46w1oBeFg3L1V3c4xLhmgF0y/XJSnXJ6l03t67FT67Ah6iYRh2oRLA Aml+a+wWA==;
Received: from 106.0.208.46.dyn.plus.net ([46.208.0.106]:46658 helo=[192.168.0.3]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from <ietf@bobbriscoe.net>) id 1gEjVX-0004yy-Jj; Tue, 23 Oct 2018 00:21:12 +0100
To: Greg White <g.white@CableLabs.com>, "De Schepper, Koen (Nokia - BE/Antwerp)" <koen.de_schepper@nokia-bell-labs.com>
References: <7CE5D435-A5B0-4AF8-921F-55FAF5DBAD6D@cablelabs.com> <DB6PR0701MB2247C2834077A309FB9D2775B9FE0@DB6PR0701MB2247.eurprd07.prod.outlook.com> <48A4FD87-0398-46A8-8CB3-B05260516A7D@cablelabs.com> <DB6PR0701MB2247E6CF91B5F258E652ADFEB9F80@DB6PR0701MB2247.eurprd07.prod.outlook.com> <74EB8F0A-1FA7-4050-A4C9-1D32644C4587@cablelabs.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Cc: "tsvwg@ietf.org" <tsvwg@ietf.org>
Message-ID: <90fd3b1e-d5dd-9404-24bd-c952b938bd0a@bobbriscoe.net>
Date: Tue, 23 Oct 2018 00:21:10 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <74EB8F0A-1FA7-4050-A4C9-1D32644C4587@cablelabs.com>
Content-Type: multipart/alternative; boundary="------------3DD3680AAA4DD27B93E9BF76"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/gN9AWt_SZlWV4XTKjZviZLB_jFY>
Subject: Re: [tsvwg] normative text in draft-ietf-tsvwg-aqm-dualq-coupled-06
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: Mon, 22 Oct 2018 23:21:19 -0000
Koen, Greg, Here's how I propose to derive this in a more rigorous way... For roughly equal flow rates we shouldn't equate slowly changing p_C with rapidly changing p_L. So instead of p_C = ( p_L / k )^2 (1) we need p_C = ( p_CL / k )^2 (1) where p_CL is a /variable/ that represents an input to p_L that changes as slowly as p_C. [So, rather than /define/ p_CL as k*p', we /derive/ p_CL as follows.] It has been proved [PI2] that it is preferable to control TCP with a linear PI controller, then square its output before applying it to TCP as a drop probability. If we call the base AQM's output p', that means: p_C = (p')^2 (2) Substituting for p_C in Eqn (1) gives: p' = p_CL / k, So we get our slow-moving input to p_L as: p_CL = p' * k (3) The actual probability p_L that we apply to the L queue needs to track the immediate L queue delay, as well as track p_CL under stationary conditions. So we create an AQM that calculates a marking probability p'L as a function of the instantaneous L queue. And, given the L queue has conditional strict priority over the C queue, whenever the L queue grows, we should apply marking probability p'_L, but p_L should not fall below p_CL. This suggests: p_L = max(p'L, p_CL) which has also been found to work in practice. It's a little more rigorous, but the max() function is still plucked out of the air. Thoughts? Bob On 22/10/2018 18:17, Greg White wrote: > > Thanks Koen, I will look forward to reviewing the next version. > > -Greg > > *From: *"De Schepper, Koen (Nokia - BE/Antwerp)" > <koen.de_schepper@nokia-bell-labs.com> > *Date: *Thursday, October 18, 2018 at 6:04 AM > *To: *Greg White <g.white@CableLabs.com>, "tsvwg@ietf.org" > <tsvwg@ietf.org> > *Cc: *"ietf@bobbriscoe.net" <ietf@bobbriscoe.net> > *Subject: *RE: normative text in draft-ietf-tsvwg-aqm-dualq-coupled-06 > > Greg, > > Part of the confusion is due to the naming scheme evolutions leaving > small inconsistencies in the draft. Initially we started with just p’, > p_L and p_C. But then trying to better name and explain all parts we > introduced the other names. > > >> My understanding is that the implementation enforces coupling only one way (from C to L) and > not the other, but counterbalances this by requiring that the L queue > get higher scheduler priority. > > Yes, correct. With a strict priority scheduler, a one way coupling is > sufficient and theoretically if there would be always sufficient > classic traffic, we would even not need an L4S AQM. Only when there is > insufficient or no classic traffic, the L4S AQM is needed. BUT as low > latency is important for L4S traffic, the L4S AQM is needed also to > immediately correct rate/latency bursts. These bursts are also > rippling through to the Classic queue (being not scheduled for short > times) but the Classic AQM is responding too slow to prevent temporary > queue build up in the L4S queue. > > >> The rationale being that p’L is expected to be much more dynamic than p_C, and that spikes in > p’L would negatively impact the throughput in the C queue if > bi-directional coupling were utilized. Is this true? > > Correct, but not only the spikes would be negative. They could be > smoothed to compensate. But from our experiments we actually see that > extra L4S AQM marking has limited impact, and the possibly lower L4S > throughput is only required for guaranteeing low L4S latency under > heavy dynamic L4S traffic patterns. If there is no classic traffic, it > results in required underutilization, and if there is Classic traffic, > it benefits from the small extra available link capacity which cannot > be utilized by the L4S traffic. Coupling back the higher L4S > probability will result only in lower classic traffic throughput, > which removes the Classic queue, which finally will result in link > underutilization, which you don’t want for Classic traffic (a > controlled target delay is tolerated for high throughput/ full link > utilization). > > Good points, we will try to additionally clarify in the next version > of the draft. > > Thanks, > > Koen. > > *From:*Greg White <g.white@CableLabs.com> > *Sent:* Thursday, October 18, 2018 2:04 AM > *To:* De Schepper, Koen (Nokia - BE/Antwerp) > <koen.de_schepper@nokia-bell-labs.com>; tsvwg@ietf.org > *Cc:* ietf@bobbriscoe.net > *Subject:* Re: normative text in draft-ietf-tsvwg-aqm-dualq-coupled-06 > > Koen, > > I don’t think that you necessarily need to repeat the equations in the > normative section. It would be ok IMO to simply say something to the > effect of “A DualQ Coupled AQM implementation MUST implement equation > X.” in the normative section. > > On the p_L vs. p_CL question (or “=” vs “<=”), I think some further > explanation is needed. Both the ECN-L4S-ID draft and the background > in this one use “=” in comparing p_L to p_C, and I didn’t see much > justification given as to why this draft switches to “<=” in the > implementation. The only justification I noticed was the following: > > The actual L4S marking probability p_L is the maximum of the coupled > > output (p_CL) and the output of a native L4S AQM (p'L), shown as > > '(MAX)' in the schematic. While the output of the Native L4S AQM is > > high (p'L > p_CL) it will dominate the way L traffic is marked. When > > the native L4S AQM output is lower, the way L traffic is marked will > > be driven by the coupling, that is p_L = p_CL. So, whenever the > > coupling is needed, as required from equation (1): > > p_C = ( p_L / k )^2. > > Which implies that the coupling is only needed when p’L <= p_CL, but I > didn’t see any further explanation for this assertion. My > understanding is that the implementation enforces coupling only one > way (from C to L) and not the other, but counterbalances this by > requiring that the L queue get higher scheduler priority. The > rationale being that p’L is expected to be much more dynamic than p_C, > and that spikes in p’L would negatively impact the throughput in the C > queue if bi-directional coupling were utilized. Is this true? > > -Greg > > *From: *"De Schepper, Koen (Nokia - BE/Antwerp)" > <koen.de_schepper@nokia-bell-labs.com > <mailto:koen.de_schepper@nokia-bell-labs.com>> > *Date: *Tuesday, October 16, 2018 at 10:33 AM > *To: *Greg White <g.white@CableLabs.com > <mailto:g.white@CableLabs.com>>, "tsvwg@ietf.org > <mailto:tsvwg@ietf.org>" <tsvwg@ietf.org <mailto:tsvwg@ietf.org>> > *Cc: *"ietf@bobbriscoe.net <mailto:ietf@bobbriscoe.net>" > <ietf@bobbriscoe.net <mailto:ietf@bobbriscoe.net>> > *Subject: *RE: normative text in draft-ietf-tsvwg-aqm-dualq-coupled-06 > > Greg, > > Thanks for this detailed review and catching these improvements. I > agree that these properties should be specified explicitly and formally. > > Related to the first 2 topics we should be careful to not limit > flexibility when mapping DualQ in a bigger picture. Probably for this > draft we can stick to the basic DualQ operation, and cover other uses > in the draft-briscoe-tsvwg-l4s-diffserv-00, so unless others > objecting, for me these requirements can be MUST formalized in this draft. > > Related to the third topic the text you quoted was indeed meant to be > the formal MUST specification, but I see your point. We should clearly > specify that the coupling equation requirement is only applicable for > feedback from the classic AQM to the L4S queue and does not > incorporate potential additional marking due to the L4S AQM. A > possible solution could be referring to the untagged equation > following equation 3: p_C = ( p_CL / k )^2 or even better to replace > p_L by p_CL in equation 1, right? > > Do you also mean that we need to repeat these equations (and figures) > in the normative section to give them the normative “weight”? > > Koen. > > *From:*Greg White <g.white@CableLabs.com <mailto:g.white@CableLabs.com>> > *Sent:* Friday, October 12, 2018 7:36 PM > *To:* tsvwg@ietf.org <mailto:tsvwg@ietf.org> > *Cc:* De Schepper, Koen (Nokia - BE/Antwerp) > <koen.de_schepper@nokia-bell-labs.com > <mailto:koen.de_schepper@nokia-bell-labs.com>>; ietf@bobbriscoe.net > <mailto:ietf@bobbriscoe.net> > *Subject:* normative text in draft-ietf-tsvwg-aqm-dualq-coupled-06 > > Koen, et al., > > It seems that the draft on dual-queue coupled AQM could use some > improvements in terms of normative language. I would think that > you’d want to have requirements to cover: > > ·The implementation MUST utilize two queues each with an AQM algorithm > > ·The AQM algorithm on the L queue MUST utilize ECN marking > > ·The two AQMs MUST implement drop/mark frequencies that are coupled > together according to a square function and coupling factor > > Without implementing these, it would seem to be hard to say that that > an implementation complies with the draft. > > On the third point, the text of the draft provides: > > Whatever identifier is used for L4S experiments, > > [I-D.ietf-tsvwg-ecn-l4s-id] defines the meaning of an ECN marking on > > L4S traffic, relative to drop of Classic traffic. In order to > > prevent starvation of Classic traffic by scalable L4S traffic, it > > says, "The likelihood that an AQM drops a Not-ECT Classic packet > > (p_C) MUST be roughly proportional to the square of the likelihood > > that it would have marked it if it had been an L4S packet (p_L)." In > > other words, in any DualQ Coupled AQM, the power to which p_L is > > raised in Eqn. (1) MUST be 2. The term 'likelihood' is used to allow > > for marking and dropping to be either probabilistic or deterministic. > > It isn’t clear whether that first MUST is considered a requirement, or > is simply an informative quote of a requirement from the other draft > (I presume the latter). Also the second MUST refers to Eqn (1) which > is just an informative equation that provides background justification > for the coupled AQM. I don’t see any requirement that states that it > is something that an implementer needs to actually do. Further, it > seems that the schematic in Figure 1 doesn’t actually comply with that > expression either. Instead it implements p_C <= ( p_L / k )^2, which > is not explained. > > -Greg > -- ________________________________________________________________ Bob Briscoe http://bobbriscoe.net/
- [tsvwg] normative text in draft-ietf-tsvwg-aqm-du… Greg White
- Re: [tsvwg] normative text in draft-ietf-tsvwg-aq… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] normative text in draft-ietf-tsvwg-aq… Greg White
- Re: [tsvwg] normative text in draft-ietf-tsvwg-aq… De Schepper, Koen (Nokia - BE/Antwerp)
- Re: [tsvwg] normative text in draft-ietf-tsvwg-aq… Greg White
- Re: [tsvwg] normative text in draft-ietf-tsvwg-aq… Bob Briscoe