Re: [tsvwg] Fwd: New Version Notification for draft-white-tsvwg-lld-00.txt

Greg White <g.white@CableLabs.com> Wed, 20 March 2019 20:03 UTC

Return-Path: <g.white@CableLabs.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 CC85A131096 for <tsvwg@ietfa.amsl.com>; Wed, 20 Mar 2019 13:03:39 -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 (1024-bit key) header.d=cablelabs.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 ctQhA66vBUlo for <tsvwg@ietfa.amsl.com>; Wed, 20 Mar 2019 13:03:34 -0700 (PDT)
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-eopbgr820090.outbound.protection.outlook.com [40.107.82.90]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9B1B612008F for <tsvwg@ietf.org>; Wed, 20 Mar 2019 13:03:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cablelabs.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1XZPVwQstLp0W8yLQ+0KzsuXgMSAAz9rXBMRcKk6yc4=; b=RlGz8jGy5iMWoCYr9OtP8rJfQ4mURLMzHXmPRPEoa99AGjbRGFGFJ+VoApsab9enDB+pmmonjWXJ/W5rkJ2wQLagEqCgio+8w0hVTgYJ/BEvmxawq86yN3lPTurTvimuXnZ8avAYos6CPbtdZMjrbUX54dNQHi1KOvymzZemR/U=
Received: from SN6PR06MB4655.namprd06.prod.outlook.com (52.135.117.85) by SN6PR06MB4096.namprd06.prod.outlook.com (52.132.124.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.13; Wed, 20 Mar 2019 20:03:30 +0000
Received: from SN6PR06MB4655.namprd06.prod.outlook.com ([fe80::75ce:14bc:e5e2:573c]) by SN6PR06MB4655.namprd06.prod.outlook.com ([fe80::75ce:14bc:e5e2:573c%5]) with mapi id 15.20.1709.015; Wed, 20 Mar 2019 20:03:30 +0000
From: Greg White <g.white@CableLabs.com>
To: Luca Muscariello <luca.muscariello@gmail.com>
CC: "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com>, tsvwg IETF list <tsvwg@ietf.org>
Thread-Topic: [tsvwg] Fwd: New Version Notification for draft-white-tsvwg-lld-00.txt
Thread-Index: AQHU3Odu+Nzmi68bT0yGQEeNX9Q4BqYQNmqAgADgmYCAACiDgIAAOZYqgABxEQCAAL5rAIAAacoAgAB1swCAAQl/gA==
Date: Wed, 20 Mar 2019 20:03:30 +0000
Message-ID: <CBDCFCE7-03BC-42CE-977B-520AA21555E1@cablelabs.com>
References: <0289E1B3-9AFF-4633-A9B1-6BAEE96B7692@cablelabs.com> <CAHx=1M6US_HYjXfqtRr8RbGEe5QxPjjnivLkKMHHBpqMQRyP8g@mail.gmail.com> <C689234C-6A08-47B1-90B5-07DE77112BBD@cablelabs.com> <CAHx=1M5z4fpViHbV+3+VchpyXsPJwwCuhWzNvZ7EU-An3gS0qQ@mail.gmail.com> <300857A4-9483-473E-8D9E-799F6077A4FF@cablelabs.com> <CAHx=1M53q0DG8AmhSxQXFhDfr4UzgrRR+iebmCwrZMcVnMvS5g@mail.gmail.com> <CAHx=1M4y=bEHQ1xt1G59B-DzuU195s4hMapAFmjP0UFqSn403A@mail.gmail.com> <AM0PR07MB4819B13811AE92A48A69CB5BE0460@AM0PR07MB4819.eurprd07.prod.outlook.com> <CAHx=1M6RMgVb+Q0OcjYwFvTr=uVCX6V_yPMUDXX5Z2zNfzWy+g@mail.gmail.com> <AM0PR07MB481913E2901C3F8865741D87E0470@AM0PR07MB4819.eurprd07.prod.outlook.com> <CAHx=1M5kd5Bk0bgkbk3BKuAVFBw+F8wB-xBmsy84BeGfNQPpnQ@mail.gmail.com> <AM0PR07MB4819396BC80290239635FBC8E0470@AM0PR07MB4819.eurprd07.prod.outlook.com> <CAHx=1M5bPynE9g81zors9o0ef7dX80Ey98BfE2F+=HLg-xPfBA@mail.gmail.com> <553154E6-7883-45F4-A8B1-510849D94AAA@cablelabs.com> <CAHx=1M52n0nsbv4Y9F3SFeByPk1o4c9t4-U17x92VtJ9efUD2A@mail.gmail.com> <433425C1-C806-42B0-B9F4-A4B4B0720A64@cablelabs.com> <CAHx=1M5c1cEm=6F6xLXU9m3pjv6WWbSUeXGEJtD1C-XT=w5OhQ@mail.gmail.com>
In-Reply-To: <CAHx=1M5c1cEm=6F6xLXU9m3pjv6WWbSUeXGEJtD1C-XT=w5OhQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.14.0.181208
authentication-results: spf=none (sender IP is ) smtp.mailfrom=g.white@CableLabs.com;
x-originating-ip: [2620:0:2b10:23:ad72:d851:e23:40ab]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9378887e-50ec-4476-587b-08d6ad6f1fb0
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:SN6PR06MB4096;
x-ms-traffictypediagnostic: SN6PR06MB4096:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <SN6PR06MB4096D95B9D29C22873AF58D2EE410@SN6PR06MB4096.namprd06.prod.outlook.com>
x-forefront-prvs: 098291215C
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(39850400004)(346002)(396003)(136003)(366004)(199004)(51444003)(13464003)(189003)(236005)(14444005)(256004)(2906002)(46003)(2420400007)(186003)(7736002)(53936002)(58126008)(6306002)(561944003)(6512007)(6486002)(229853002)(54906003)(36756003)(54896002)(6916009)(33656002)(30864003)(10710500007)(7110500001)(15650500001)(66574012)(6246003)(53946003)(446003)(53386004)(11346002)(486006)(316002)(2616005)(790700001)(6116002)(68736007)(4326008)(25786009)(6506007)(86362001)(71190400001)(76176011)(81156014)(71200400001)(97736004)(99286004)(81166006)(9326002)(102836004)(476003)(53546011)(5660300002)(83716004)(82746002)(93886005)(105586002)(6436002)(8676002)(106356001)(14454004)(478600001)(606006)(8936002)(85282002)(579004); DIR:OUT; SFP:1102; SCL:1; SRVR:SN6PR06MB4096; H:SN6PR06MB4655.namprd06.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: CableLabs.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: lWYw3mK7apxjIQrLPPm/0C32cy84nVSBxi2WwyHCKuDAjjkNYJclEFMpJr3Q2YSYSkmPCbUIahJCIHrCAFzWvOrQRO3Yf1lz9bw+At8MTMV5zX7aBe9XFn9Oa+fYjYyQLNyLK1OWa7q7lWyYUAwj0TOYupqApyF7A7l98QrVAVODVjxza+1dL3ivSo3Pv9Oc7LaGiBm98MT+3+zy1vP7WwRQjkK8TxJL9FaAkM16QddCie3QSmRMp7M+Q9w+eD6NNRBLx25cFDqVZnW4kqyl0MbgKNYgOPjX8Q3+cg+G+J5XsKrU+YIv6qSCxFM/VM3lAiA4VRGyRC2lzed3HNDswM++FZUuieWLWgm+K8NZpOrilfPxvwKcuWqbrJVDzimejmm0iynWZxtLuw+emGdwN5oyqSuUX+Ez0livk7b3j80=
Content-Type: multipart/alternative; boundary="_000_CBDCFCE703BC42CE977B520AA21555E1cablelabscom_"
MIME-Version: 1.0
X-OriginatorOrg: cablelabs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9378887e-50ec-4476-587b-08d6ad6f1fb0
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2019 20:03:30.3028 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: ce4fbcd1-1d81-4af0-ad0b-2998c441e160
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR06MB4096
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/2vzW_DsnD7AcryKVEKSVL0U8Pvg>
Subject: Re: [tsvwg] Fwd: New Version Notification for draft-white-tsvwg-lld-00.txt
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 20:03:40 -0000

Hi Luca,

First off, thank you for your review and probing questions.  I very much appreciate it.

Now on the points where you still have concerns, either I am not understanding them, or you aren’t understanding my answers.  I’ve added some responses inline below.  Hopefully we can get to the point that we agree.

-Greg



From: Luca Muscariello <luca.muscariello@gmail.com>
Date: Tuesday, March 19, 2019 at 4:13 PM
To: Greg White <g.white@CableLabs.com>
Cc: "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com>, tsvwg IETF list <tsvwg@ietf.org>
Subject: Re: [tsvwg] Fwd: New Version Notification for draft-white-tsvwg-lld-00.txt

Greg,

You may be right. We may be doing different assumptions.
To me the point where we disagree is that you assume that an application,
to get access to the low latency queue, is not only well behaving
but also sending at a very low rate compared to the link capacity.

[GW]  No, that is not the assumption. The fundamental requirement is that, in order to have 100% of its packets remain in the low latency queue, a flow cannot be contributing appreciably to queuing latency.  Note, we are actually not describing the performance of the low latency queue as being a DetNet guarantee, so the requirement for 100% of packets to have deterministic latency does not exist.  Rather, the focus is on 99th percentile latency.  Nonetheless, in the abstract, a single application flow could send smooth (CBR) non-responsive traffic that fully utilizes the link capacity, and have all of that traffic utilize either queue (low latency or classic, depending on if it marked its packets NQB or not).

The point I'm trying to make is that in general, we do not know that rate.
As long as we have no predictable information about the amount of non classified
traffic that can be admitted to the low latency queue, the coupling factor, that
determines how time is shared between the two queues, cannot be set.
Any value would break the stable equilibrium assumed by the system and therefore
that much traffic has to be kicked out of the queue.

[GW] In practice, as you point out, an application generally cannot know the link rate (nor can it know whether it is the only application).  So, in practice, an application that is interested in low latency has 2 options in order to ensure that it isn’t causing queuing delay.  One option is that it simply does not send traffic that is likely to exceed the available capacity of the link. There are a lot of applications that do just this, and are great candidates for being marked NQB.  (Even without dual-queue, this is a practical constraint for any non-responsive application that cares about latency or loss performance, the only additional factor in the low latency queue is that the constraint applies on a more instantaneous basis than for a deep buffered link.) Given that the application cannot “know” the available capacity, all non-responsive applications take on some risk that they have guessed wrong, and have to accept the consequences (latency or loss) in the case that they have.  Of course, the lower the sending rate, the greater the likelihood that it won’t exceed the link capacity. The other option is to implement a low latency scalable congestion control (e.g. TCP Prague).  TCP Prague can fully utilize its per-flow-fair share of the link capacity across a very wide range of cases without the need to tune any parameters in the dual-queue configuration.  Outside that range of cases, the behavior is not catastrophic.   I’m not certain what you mean by “non-classified traffic” do you mean non-responsive (or non-congestion-controlled)? Also you used the term “coupling factor” which is a specific term used in dual-queue coupled AQM to refer to the multiplicative factor that relates the L4S ECN marking probability to the Classic AQM drop probability.  I don’t think that is what you were referring to.  I think you intended to mean the WRR weight.  In case I am right on both counts, I thought I had explained this in my earlier email, but let me make it clear.  Stability is not in question. What you are arguing is that per-flow-fairness isn’t guaranteed in certain situations.   This is true, but as I pointed out, the range of conditions where fairness is more-or-less achieved is pretty large, and outside that range things aren’t so bad.  I say “more-or-less achieved” because, with the dual-queue, just like a single queue, flows will only tend toward fairness (with the caveats of RTT differences, variations in congestion controllers, etc.).   But, a goal of TCP Prague is to at least reduce this RTT dependence.

This is not a positive incentive but rather policy enforcement.
This is in itself a subject of discussion.

[GW] This seems to be a matter of opinion, but I’m actually not sure why you feel the need to make the distinction.  The low latency queue is only for flows that aren’t causing queuing delay.  If a flow is causing queuing delay then the system (and in some cases the application itself) is better off if the application’s packets take the classic queue.  The job of Queue Protection is to enforce this, and ideally create incentives for “correctly” marking packets.  Furthermore, the applications that are the best behaved are the most likely to be able to send all of their packets via the low latency queue, so this is an incentive. Keep in mind, that this isn’t DetNet.

Another concern I see is more about DoS to the low latency queue and
then to both queues.

It seems a priori definitely possible to create a limit cycle to the control theoretic
equilibrium by injecting background non classified traffic that generates little queuing.
Such packet process could then disturb all other sources or worse starve them enough
to force user to abandon.
In this case even a FIFO queue would be better (providing more predictable performance)
than two coupled queues relying on
a closed loop equilibrium which assumes only compliant traffic is present.

[GW] I think that I have already dispelled this in an earlier email, but let me know if you would like me to try again.

Now, being aware of how difficult it is to compute stability regions of a closed loop system
with delays, which is the one we are discussing here, my overall impression is that
this queueing system is fragile and can provide unpredictable performance.

[GW] Then you would undoubtedly have the overall impression that the current internet is fragile and can provide unpredictable performance (which, I suppose, is true).  In my opinion, dual-queue reduces the unpredictability, and does not increase fragility.  Analyzing stability is even more difficult given that the internet is not a linear time-invariant system.  As a result, I don’t personally give a lot of credence to that sort of analysis for congestion control systems.  Nonetheless, LTI approximations have been used to give confidence in the stability of PIE (at least for Reno CC), and in the cases that you seem to be concerned about, the PIE controller is in use.  Simulations have confirmed stability for DCTCP in these mixed traffic situations as well.

Assuming that you're pretty confident about the cable use case you have in mind,
with all the assumptions you are making about today applications' rates, would you also
be confident about future applications or about other network access technologies?

[GW] Again, we’re not making any assumptions about today’s application rates.  It is the applications that need to make assumptions based on all of the environments that they expect to be deployed in (and this is 100% not new).  If an application wants low latency and low loss, then it needs to fit in the available capacity along the path, whatever that path may be.  If it doesn’t want to use congestion control for some reason, then it needs to consider how it will send its traffic to ensure that it doesn’t overload the bottleneck link.  That is fundamental (and not specific to dual queue).

Luca

On Tue, Mar 19, 2019 at 10:12 PM Greg White <g.white@cablelabs.com<mailto:g.white@cablelabs.com>> wrote:
I think that is a mischaracterization.

I don’t believe that (at least on cable broadband links) non-responsive, link-saturating traffic is “currently a big chunk of Internet traffic that requires low latency”.   Perhaps on very low speed links this may happen, but what are the applications that are streaming at (e.g.) 10 Mbps without any congestion control?

The current Internet places expectations on data sources that they implement congestion control, and that they respond in a fairly consistent way to congestion signals (usually packet drops).  Not all of them do, but the majority do, and it has not resulted in a tragedy of the commons.  The dual queue mechanism continues that expectation.

I also don’t agree that the dual queue system lacks incentives.  For an application to get the benefit of sub millisecond queuing delay, it needs to ensure that it is not the cause of the queuing delay.  It can do that in a couple of ways.  One is that it sends at a low and smooth enough rate that it is highly unlikely to cause queuing, the other is that it can respond to fast congestion signals (new ECN marks).  The applications that do this can enjoy sub millisecond queuing delay.  If that isn’t an incentive, that’s fine. Some NQB traffic may not care about latency performance, and so would be equally happy in the classic queue.

-Greg




From: Luca Muscariello <luca.muscariello@gmail.com<mailto:luca.muscariello@gmail.com>>
Date: Tuesday, March 19, 2019 at 2:53 AM
To: Greg White <g.white@CableLabs.com>
Cc: "Tilmans, Olivier (Nokia - BE/Antwerp)" <olivier.tilmans@nokia-bell-labs.com<mailto:olivier.tilmans@nokia-bell-labs.com>>, tsvwg IETF list <tsvwg@ietf.org<mailto:tsvwg@ietf.org>>
Subject: Re: [tsvwg] Fwd: New Version Notification for draft-white-tsvwg-lld-00.txt

Got it, thanks.

Consider that one concern that I have is on what you Greg consider a pathological case.
That case is currently a big chunk of Internet traffic that requires low latency.

The current scheduler makes substantial assumptions about the behaviour and misbehaviour of data sources.
The thing the I find uncomfortable is that this proposal assumes that every source conforms to a given profile,
including explicit marking.

The current queueing system instead of creating incentives to well behave creates a mechanism that punishes
sources that do not conform. Even  sources that well behave can be punished just because they do not conform.

My understanding is that this might be difficult to accept for many applications and, most important, people.

Luca






On Tue, Mar 19, 2019 at 4:31 AM Greg White <g.white@cablelabs.com<mailto:g.white@cablelabs.com>> wrote:
Hi Luca, see below [GW].

From: Luca Muscariello <luca.muscariello@gmail.com<mailto:luca.muscariello@gmail.com>>

On Mon, Mar 18, 2019 at 1:21 PM Tilmans, Olivier (Nokia - BE/Antwerp) <olivier.tilmans@nokia-bell-labs.com<mailto:olivier.tilmans@nokia-bell-labs.com>> wrote:
Hi Luca,

Just to make sure, did I answer your question?

maybe. Let me ask a few more clarification questions below.


If not the behavior of putting NQB flows in the L4S queue is dependent on the
AQM used, hence the answer would be to look at
draft-ietf-tsvwg-aqm-dualq-coupled for a discussion of the effects of doing so.
DOCSIS adds on top of the AQM a protection scheme to sanction flows in the
L4S that cause queue build up, and uses a WRR to control how packets get
dequeued.

The final answer would then be: yes, you can put non-ECN controlled flows in
the L4S queue provided those are sparse enough. Otherwise, they would need
to be wrapped in a scalable CC and/or interpret the received ECN feedback (as
 the 2015 demo showing live video streaming zooming/zoomout did).

This is where things become unclear or just unspecified in the documents I read so far.
Sometimes maths or code is simpler to read that a thousand words.

My interpretation of what you say is that the time sharing between the two queues
depends on a closed loop mechanism that relies on classification first and a compliant sender that
is sensitive to ECN according  to the mechanism described in draft-ietf-tsvwg-l4s-arch.

Assuming that the control theoretic equilibrium you get requires a given WRR weight,
anytime non conformant traffic is allowed into the low latency queue this equilibrium can be
perturbed. Which is fine as long as the perturbation is small enough.

[GW] When both queues are in use by responsive traffic, the classic queue AQM drives the congestion signal for both queues, and gives them both a congestion signal that the two sender types interpret in a consistent way, leading toward per-flow fairness.  Just as with a single queue AQM, the consistent (flow unaware) application of drop probability (and presumed consistent interpretation of those congestion signals by senders) leads toward per-flow fairness.  The equilibrium is not strongly related to the WRR weight.  As long as the weight is high enough, the relationship between the congestion signals (drop in the case of the classic queue and ECN mark in the case of the low latency queue) drives the equilibrium.  Just as an example of a simple case, if all of the flows happened to be long-running responsive flows in congestion avoidance, then the congestion signals will drive the equilibrium as long as the WRR weight given to the low latency queue is greater than or equal to the share of the flows that are occupying that queue.  In the DOCSIS spec the default value for the weight is 230/256 (about 90%, see section C.2.2.7.17.6 in the DOCSIS spec), so as long as less than 90% of the simultaneous flows are occupying the low latency queue (for example if there are four L4S flows and one CUBIC flow), per-flow fairness will be maintained.   If greater than 90% of the simultaneous flows are in the low latency queue (e.g. twenty-four L4S flows vs. two CUBIC flows), the ~10%  weight given to the classic queue will result in the classic flows each getting somewhat more than their share of bandwidth (e.g. they will each get 5% of the capacity, while the L4S flows will each get 3.75%).  If we could assume that ALL flows are well-behaved responsive flows, then strict priority could be used, and per-flow fairness would be maintained regardless of the mix.  Since we can’t make that assumption, the non-100% weight protects some bandwidth in the Classic queue.

Non controlled traffic can generate a busy period in the low latency queue that can grow
w/o necessarily generating large standing queues. That should not trigger the queue protection
mechanism Greg mentioned.
From what I understand WRR would  then make the equilibrium drift to another value.
This value should be that the classic queue gets lower service time compared to what
the original configuration was meant to provide.

[GW] Non-responsive traffic in the low latency queue will consume some of that queue’s WRR weight (similarly, non-responsive traffic in the classic queue will consume some of that queue’s weight), with the result being that for the remaining congestion controlled traffic the range of flow mixes over which per-flow fairness is achieved is shifted.  As an example, if non-responsive traffic in the low latency queue consumed 50% of the total capacity, and the rest of the traffic was congestion controlled, the system would behave as if (for the remaining 50% of capacity available to the congestion controlled flows) the WRR weight was 80% (90% minus 50%, divided by 50%).   So per-flow fairness would only be achieved when the low latency queue is carrying less than or equal to 80% of the flows, otherwise the classic flows will get somewhat more than their share.    As another example, if non-responsive traffic in the classic queue were consuming 50% of the total capacity, and the rest of the traffic was congestion controlled, the system would provide per-flow fairness (with the remaining 50% of the capacity) across ALL mixes of L4S/Classic.

[GW] Yes, there are pathological cases where high-bandwidth non-responsive flows are consuming the entire channel capacity.  In those cases, the WRR weight will result in the flows in the low latency queue getting more aggregate bandwidth than the ones in the classic queue.


Do I get this right?

Thanks
Luca



Best,
Olivier


> -----Original Message-----
> From: Luca Muscariello <luca.muscariello@gmail.com<mailto:luca.muscariello@gmail.com>>
> Sent: Monday, March 18, 2019 12:21 PM
> To: Tilmans, Olivier (Nokia - BE/Antwerp) <olivier.tilmans@nokia-bell-
> labs.com<http://labs.com>>
> Cc: Greg White <g.white@cablelabs.com<mailto:g.white@cablelabs.com>>; tsvwg IETF list <tsvwg@ietf.org<mailto:tsvwg@ietf.org>>
> Subject: Re: [tsvwg] Fwd: New Version Notification for draft-white-tsvwg-lld-
> 00.txt
>
>
>
> On Mon, Mar 18, 2019 at 9:56 AM Tilmans, Olivier (Nokia - BE/Antwerp)
> <olivier.tilmans@nokia-bell-labs.com<mailto:olivier.tilmans@nokia-bell-labs.com> <mailto:olivier.tilmans@nokia-bell-<mailto:olivier.tilmans@nokia-bell->
> labs.com<http://labs.com>> > wrote:
>
>
>       > Is there an assumption that the low latency queue is only used by
> rate
>       > controlled flows
>       > that are sensitive to ECN feedback?
>
>       The L4S definitions in draft-ietf-tsvwg-l4s-arch state that L4S flow
> have a
>       scalable CC, in order to perform bandwidth pooling (fairly) between
> the
>       L4S flows and the classic ones.
>       This can however be relaxed a bit, see below.
>
>       > I would assume that a low latency queue is open to flows that are
> non
>       > necessarily controlled by ECN but just exogenously rate limited by
> say a
>       > codec rate.
>
>       This is what draft draft-white-tsvwg-nqb discusses, namely also
> adding
>       non-queue building flows in the L4S queue (e.g., non-capacity
> seeking
>       flows such as gaming, DNS traffic, pings, sparse CBR flows).
>
>       Note that the presence of such unresponsive flows in the L4S queue
>       implicitly decreases the throughput of the scalable L4S flows (but not
>       their classic counterpart), as they have to back off on behalf of the
>       non-responsive flows (but can do so without fiddling with a magic
> WRR
>       number). This can be accounted for in the coupling factor of the
> queue.
>
>
>
> Right, this is what I was trying to understand.
> I checked draft-white-tsvwg-nqb but the mechanism to share traffic in the
> two queues
> is not described. This document refers back to draft-ietf-tsvwg-l4s-arch so I
> cycled back to
> my starting point as there is no description of how the queueing system
> works when
> non marked ECNed traffic is sent  to the low latency queue.
>
> I thought that that was described in the DOCSIS spec Greg shared, but did
> not find an answer there either.
>
>
>
>
>
>
>
>       Best,
>       Olivier
>
>
>       > But now it seems like this is not the case.
>       >
>       > Thanks
>       > Luca
>       >
>       > On Sun 17 Mar 2019 at 18:32, Tilmans, Olivier (Nokia - BE/Antwerp)
>       > <olivier.tilmans@nokia-bell-labs.com<mailto:olivier.tilmans@nokia-bell-labs.com>
> <mailto:olivier.tilmans@nokia-bell-labs.com<mailto:olivier.tilmans@nokia-bell-labs.com>>  <mailto:olivier.tilmans@nokia-<mailto:olivier.tilmans@nokia->
> bell- <mailto:olivier.tilmans@nokia-bell-<mailto:olivier.tilmans@nokia-bell->>
>       > labs.com<http://labs.com> <http://labs.com> > > wrote:
>       >
>       >
>       >       Hi Luca,
>       >
>       >       > The protection mechanism assumes that one queue has soft
>       > priority over
>       >       > the other. Strict priority would be stupid, so there must be a
> wfq
>       > weight to
>       >       > schedule the classic queue less frequently. I did not find the
> magic
>       > number
>       >       > that  is set in the DOCSIS specs but whatever number is chosen
> I
>       > wonder
>       >       > which opitimization objective would be the foundation of that.
>       >       > 10%, 20%, 30% or any number would imply that if the priority
>       > queue is used
>       >       > at 100% utilization the other apps would get a small fraction of
> the
>       > link
>       >       > capacity.
>       >       >
>       >       > What number is chosen and based on which calculations?
>       >
>       >       The protection mechanism only affect how competing packets
> within
>       > a RTT gets
>       >       dequeued. In this instance, a WRR protects the classic flows
> from
>       >       unresponsive/misclassified L4S flows, at the expense of the
> other
>       > L4S flows.
>       >
>       >       It does not affect the overall throughput of the flows when
>       > measuring it over a
>       >       timeframe of a few Tupdate interval (e.g., 16ms). Indeed, the
> core of
>       > the
>       >       DualPI2 AQM is a PIE2 controller computing the random
>       > drop/marking probability
>       >       based on the classic queue. This probability is then also used as
> base
>       > to mark L4S
>       >       flows, albeit with a quadratic relationship (i.e., for the same base
>       > probability, the
>       >       L4S flows are marked much more often than the classic ones).
>       >
>       >       Consequently, whenever L4S traffic causes the classic queue to
> build
>       > up (even
>       >       slightly above the PIE2 target), its marking probability drastically
>       > increases as the
>       >       PIE2 controller reacts. As the L4S flows have scalable CCs (i.e.,
>       > understand how to
>       >       leverage multiple CE marks per RTT), they reduce their cwnd
>       > accordingly within
>       >        a RTT (which is much smaller than the classic flows' RTT).
>       >
>       >       In other words, L4S senders end up slowing down themselves
> (to a
>       > point where
>       >       the L4S queue is empty for most of the transmission slots) to
> allow
>       > the classic
>       >       queue to drain, and this reaction is the result of a much faster
>       > control-loop than
>       >       the one used by the classic sender.
>       >
>       >       There are thus no magic number per say for the WRR ratio.
> §4.1.4 of
>       >        draft-ietf-tsvwg-aqm-dualq-coupled explains the guidelines to
> pick
>       > one.
>       >
>       >       Note that the exact throughput ratio between L4S and classic
> flows
>       > can be
>       >       tweaked using a coupling factor, as explained in appendix C. of
>       >        draft-ietf-tsvwg-aqm-dualq-coupled.
>       >
>       >       I hope this was clear enough.
>       >
>       >
>       >       Best,
>       >       Olivier
>       >
>
>