Re: [tsvwg] I-D Action: draft-ietf-tsvwg-nqb-15.txt

Alex Burr <alex.burr@ealdwulf.org.uk> Wed, 29 March 2023 22:25 UTC

Return-Path: <alex.burr@ealdwulf.org.uk>
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 08DD1C1522C4 for <tsvwg@ietfa.amsl.com>; Wed, 29 Mar 2023 15:25:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ealdwulf.org.uk
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 8lrXjUXffFF0 for <tsvwg@ietfa.amsl.com>; Wed, 29 Mar 2023 15:25:17 -0700 (PDT)
Received: from mail-40136.proton.ch (mail-40136.proton.ch [185.70.40.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 34371C151B2D for <tsvwg@ietf.org>; Wed, 29 Mar 2023 15:25:16 -0700 (PDT)
Date: Wed, 29 Mar 2023 22:24:59 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ealdwulf.org.uk; s=protonmail2; t=1680128714; x=1680387914; bh=rEDagdSBn3s+YiTod4BEmcsTACclCzdFs86rhfYW5Uw=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=kIWoUMAg92RazT/UMH1XzTvH+sW22fsT9Q7JTkwKOW+wojlSPKsrj5h5djG9hhK43 E7RWWSiHzIhZI6vYx/a3lyWhKxAVzPOxP78w0Jx/TdVJrsP5nicMSyfyqRXQSnf8++ dk7IRXuiV/vTBc72VHmz8g3BjX25GmAvt/OHRn98F3KPUv23G5c9t84lIh0MlLNXms qut1rvKNZwCk9Jfd24RhfohdslvUFIX4JrlxQP3idjUT2EnRy/DwBlTr4H0+2Y39m9 5mw6W4Bda7AdYDYghamjXw0hGQxi9uME2gIz5quDIM4WKOT9I103g7yWaXAhuBV7FF bHCBtzqf0959A==
To: Sebastian Moeller <moeller0@gmx.de>
From: Alex Burr <alex.burr@ealdwulf.org.uk>
Cc: Greg White <g.white@cablelabs.com>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Message-ID: <vzeYc5YbJNlwG-Eelc9Ua79lI-OftySXhDOTNwS4NG115U4aIeX7D4Rs06Euqp6y7xFuUZpGOJY6pba_YN-DP5yuKjzP7ilpOwVLpuK8iD4=@ealdwulf.org.uk>
In-Reply-To: <8FEB8FB8-849F-4F6E-BDAD-0EF53F010173@gmx.de>
References: <167348364734.15098.9183646444272144529@ietfa.amsl.com> <99798453-8EAB-4FAC-9F04-060EA42C5D37@cablelabs.com> <8FEB8FB8-849F-4F6E-BDAD-0EF53F010173@gmx.de>
Feedback-ID: 48452497:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/fk3hN-8HoKnSaDT3Dzzg7-seNEY>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-nqb-15.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
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, 29 Mar 2023 22:25:22 -0000

Sebastian,

You write: " NQB very much prioritizes NQB traffic over QB traffic, see my ample posts about how this is, and why this is the ONLY way to deliver lower delay and jitter",  and "Anybody disagreeing that scheduling under load is a zero-sum game please point me to references showing that this is wrong."

The following thought experiment should illustrate that moving from a single queue, to two queues with a scheduler between them, can be positive sum for latency/delay:

We have two traffic types A and B. In the "control group" case, they are in the same queue. In the test case, we separate them into two queues. The queue for type A offers the same treatment the original single queue. The queue for type B has a different treatment with a shallow queue.

The scheduler between the two is  Maxwell's Demon. The demon knows exactly which time slots the packets from each type *would have used* if they had been moving through as single queue. It schedules as follows:
 * When a packet of type A would have exited the single queue, the demon lets through a packet from queue A. 
 * When a packet of type B would have exited the single queue, the demon lets through a packet from queue B.
 * If a packet from the appropriate queue is not available, it lets the slot go empty.

Theorem 1: By construction, because Queue A treats packets as before, each packet of type A leaves the scheduler at exactly the same time in both the control case and the test case.

Your claim, that latency is zero sum,implies  that Theorem 1 entails that packets of type B can gain no latency advantage, since packets of type A have had no latency loss. But this is not true.

Most obviously, suppose that in the test case Queue B simply discards packets after a time shorter than the sojourn time in Queue A. 

Lets take the example of an unresponsive, but low bandwidth voip flow. It will build up a short backlog in Queue B, some
of the earliest packets will be discarded, and them some later packets will start being scheduled in the slots that earlier
type B packets would have used, and so have lower latency than it had before, all without making any difference to the packets
of type A.

Similarly, an L4S flow will have a shorter sojourn time in Queue B than it would have had in Queue A, if Queue B applies earlier congestion  signals. 

Now of course, we can't build a scheduler using Maxwell's demon, because it is using counterfactual information. 
But the insight we gain is applicable to real systems: later packets can get earlier time slots without disturbing other flows. We only need counterfactual information to make *exactly* no difference to packets of type A, for the purposes of exposition.


Your claim might be true if packets were conserved. But packets are not conserved across a change in queuing treatment, because they can be discarded when they were not before, or the sender can throttle and send fewer packets based on different congestion signals.

Because latency is not zero sum, I think your effort to get the NQB doc to say that it prioritises NQB packets is actually the opposite of what you want, if you want to avoid prioritisation. Because then the specification will  discourage, or even disallow, alternative implementations that are more to your liking.

Alex