Re: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10

Sebastian Moeller <moeller0@gmx.de> Thu, 28 March 2019 09:00 UTC

Return-Path: <moeller0@gmx.de>
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 AC849120267 for <tsvwg@ietfa.amsl.com>; Thu, 28 Mar 2019 02:00:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.349
X-Spam-Level:
X-Spam-Status: No, score=-2.349 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.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 7KVkRL1aA6oY for <tsvwg@ietfa.amsl.com>; Thu, 28 Mar 2019 01:59:58 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (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 2E9BE120415 for <tsvwg@ietf.org>; Thu, 28 Mar 2019 01:59:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1553763592; bh=pqqDqF81US7UT3T4bDO9+HQ0qm6pY1RloMS7Xzowm00=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=AX8bT7ma6PM06B9KOx3ih7j1pcR/voEpAj7XjwTKr//af/x9olvcTMEg2yEmZaB9N hmqYg8p4060UqofdrjpBSmWCym6l+XRrMElAeCsHF3OhhILXZ0vBB0efl4Bey5acD/ 8F/N1bMY6wNqfqoFsb2C28bX3UiuvmCUurLJETag=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [172.16.12.10] ([134.76.241.253]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MS5Dm-1hYHJ40M8Y-00TCH6; Thu, 28 Mar 2019 09:59:52 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <5C9C8B64.4060101@erg.abdn.ac.uk>
Date: Thu, 28 Mar 2019 09:59:48 +0100
Cc: tsvwg IETF list <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <0B102D90-1A4B-416C-8E7F-192ED6193ECE@gmx.de>
References: <618DEC9B-5BA1-4D20-B68D-970EBD42CBCE@gmx.de> <5C9C8B64.4060101@erg.abdn.ac.uk>
To: G Fairhurst <gorry@erg.abdn.ac.uk>
X-Mailer: Apple Mail (2.3445.9.1)
X-Provags-ID: V03:K1:jrcZ+SRG/xXZifMQv+y7cZ5Eg7lTIWaY8kYAQcgLVRL08pxmVFc d2DEBKN5OsYu/M/59V6lWAoEpvb0ZPzZVhQPfVfWw+EBLsJDWmu/wjhswclbb2wBf/ZYtP+ Aj8pnvb+3m8cJtGeebDh6UHyj/A8T7KKC0ETCy6sVp1eMqARzgSt+aIu5dfQI/kx3ZKkQUY 8btebHU5GiT5l0Ial9nsw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:RchfTqBPHro=:fCFx+Wwwdrrn+8K9diG+DT K6HZOIR3G5mqvIQE/KDhPjIy4HJvy68FtszEeP84ZzfWLGrozk6Gldrjy5B7h3MExLZWLWoP6 HKLCFpojSp5QuI7XUShT+5HyDtYcIWcq8BZlV58YMcTSUeO7gh29n/Q3KeDmfTR/oH2GSzHzx nCH9NwXGhMeQUnCqaYPiAb9TLvtQ74uy+OB9/b7s1pQjse+MarXOOpnLomE4pJNS9GshTkRJ0 M6wGQ3YDZOCDrJNKADjNbwxJqBVRrp09Q77kbW8ZWVc7v+zWUe53MKvVzDXIf1f0AGaCJ/Ht+ FxaYzm4JUYsxbvOUFQOvJyLbyp8+IxJp/ug/IJZpC+9mqidRY4P2uxwdXKW0v/V0D5GMU7YiF ZjEPJHpJqPi0969JUicVIEnfLL1MR77EE/2m6IxEusNRaoIiN+vvVuD/8cM+GgBgDz07psY/9 k6Z6qWMeF6Nswt4Gpvl4okfAI7CrlKa4Ge8UL1TujqN9QzTKUT8R4bsvOZiHcFyNL5uD6KShh SNZ4yR0Ffr9SAkBdiCRJ8kEY5NzPY2ujxFHHKm6aTHU0NZCwt3+u3WK+DcGhOvBEsyVK3nHyO kLJgA4IxxPIoJ8h0GoUM+a/LuAzZzmbhpSQPeSPnz7nHOX5R70/1p1w1nAPbz+K+VbkYOABKN VNz9JTaHRbt/xlR0MfyKhPQ9ENj+4+2EB4YSXb7cfQ8ccjNgl+HeM9z0eTDcg17aCHrctqg/F RrCkzTSxp2aFhlAmlVhbdSmkqeSv2JU/3aGD5b5MQ42UQWJMU4YnYwjqs+RHUo842SB3W90+h 1S/yVE+MxyuUHQfLBykTmsKK9jQZNejXOOrbQRSp11mvM01vzS4ORntbLsHwD9g2PqVzjdz3u czTgCLSvJllUQsdLFK+5PxeSL3KxdHlzrofRdG69pDMS49NyFyphhZlt+gplpkd3oX6QfaWXi LArndhc+Wlw==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Nfezjzunpppb-Ax7jjcuuFsyUuw>
Subject: Re: [tsvwg] https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10
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: Thu, 28 Mar 2019 09:00:11 -0000

Dear Gorry,

> On Mar 28, 2019, at 09:52, G Fairhurst <gorry@erg.abdn.ac.uk> wrote:
> 
> On 28/03/2019, 09:25, Sebastian Moeller wrote:
>> So the L4S architecture description has the following rationale, why L4S opted for the dual-queue approach instead of mandatinf flow queueing:
>> 
>> https://tools.ietf.org/html/draft-ietf-tsvwg-l4s-arch-03#page-10:
>> 
>>  Per-flow queuing:  Similarly per-flow queuing is not incompatible
>>       with the L4S approach.  However, one queue for every flow can be
>>       thought of as overkill compared to the minimum of two queues for
>>       all traffic needed for the L4S approach.  The overkill of per-flow
>>       queuing has side-effects:
>> 
>>      A.  fq makes high performance networking equipment costly
>>           (processing and memory) - in contrast dual queue code can be
>>           very simple;
>> 
>>       B.  fq requires packet inspection into the end-to-end transport
>>           layer, which doesn't sit well alongside encryption for privacy
>>           - in contrast the use of ECN as the classifier for L4S
>>           requires no deeper inspection than the IP layer;
>> 
>>       C.  fq isolates the queuing of each flow from the others but not
>>           from itself so, unlike L4S, it does not support applications
>>           that need both capacity-seeking behaviour and very low
>>           latency.
>> 
>>           It might seem that self-inflicted queuing delay should not
>>           count, because if the delay wasn't in the network it would
>>           just shift to the sender.  However, modern adaptive
>>           applications, e.g.  HTTP/2 [RFC7540] or the interactive media
>>           applications described in Section 6, can keep low latency
>>           objects at the front of their local send queue by shuffling
>>           priorities of other objects dependent on the progress of other
>>           transfers.  They cannot shuffle packets once they have
>>           released them into the network.
>> 
>>       D.  fq prevents any one flow from consuming more than 1/N of the
>>           capacity at any instant, where N is the number of flows.  This
>>           is fine if all flows are elastic, but it does not sit well
>>           with a variable bit rate real-time multimedia flow, which
>>           requires wriggle room to sometimes take more and other times
>>           less than a 1/N share.
>> 
>>           It might seem that an fq scheduler offers the benefit that it
>>           prevents individual flows from hogging all the bandwidth.
>>           However, L4S has been deliberately designed so that policing
>>           of individual flows can be added as a policy choice, rather
>>           than requiring one specific policy choice as the mechanism
>>           itself.  A scheduler (like fq) has to decide packet-by-packet
>>           which flow to schedule without knowing application intent.
>>           Whereas a separate policing function can be configured less
>>           strictly, so that senders can still control the instantaneous
>>           rate of each flow dependent on the needs of each application
>>           (e.g. variable rate video), giving more wriggle-room before a
>>           flow is deemed non-compliant.  Also policing of queuing and of
>>           flow-rates can be applied independently.
>> 
>> 
>> 
>> And then cablelabs, the organization closest to deploying L4S, in Data-Over-Cable Service Interface Specifications DOCSIS® 3.1, MAC and Upper Layer Protocols Interface SpecificationCM-SP-MULPIv3.1-I17-190121, Annex P Queue Protection Algorithm (Normative) says:
>> 
>> "This annex defines the Queue Protection algorithm that is required to be supported by the CM in the upstream (see Section 7.7.6.1). It is also the Queue Protection algorithm that CMTS Queue Protection algorithms are required to support (see Section 7.7.6.2). In either direction, this algorithm is intended to be applied solely to a Low Latency Service Flow. It detects queue- building Microflows and redirects some or all of their packets to the Classic Service Flow in order to protect the Latency Service Flow from excessive queuing. A Microflow is defined in Section P.3, but typically it is an end-to- end transport layer data flow."
>> 
>> To me this looks like the introduction of flow-queuing through a backdoor, instead of doing it upfront this tries to measure whether flows behave well enough to keep enjoying the L4S special treatment and demotes non-compliant flows to the TCP-friendly queue. I would be intersted to learn how this mandatory requirement can be implemented without at least having similar cost like flow queueung (at least I fear it will drag the identifies issues A. and B. from above into the system running the L4S-compliant AQM). I would love to learn where my interpretation is wrong.
>> 
>> Many Thanks in advance
>> 
>> Regards
>> 	Sebastian Moeller
> I'm not sure I agree this is necessarily a change of direction - I personally see queue protection as about a control plane optimisation to identify and mitigate traffic from non-conformant flows.

	Sure, but it is telling that the one organization that is in the process of rolling-out L4S makes this a _mandatory_ requirement, no?

> Per-flow accounting is not the same as per-flow queueing. (From a different perspective: a circuit-breaker that monitors an envelope is not the same as a transport congestion controller or the same as a network traffic shaper/scheduler).

	Sure, but if "Per-flow accounting" has similar computational cost " per-flow queueing" the rationale for not directly mandating  per-flow queueing seems somewhat diminished.

> 
> My expectation would be that someone implementing L4S doesn't need to do this?

	I agree, it is not in the L4S RFCs, so it is not a MUST from the RFCs perspective.


> ... unless someone wants to offer this sort of protection. In the same way that not all current Ethernet switches protect from overload, but it is important that those people who care about these things can acquire this when they needs it.

Fair enough, point taken.

Thanks
	Sebastian

> 
> Gorry
> 
> 
>