Re: [tsvwg] NQB PHB description and assumptions

Bob Briscoe <> Mon, 09 September 2019 13:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 882A41202DD for <>; Mon, 9 Sep 2019 06:39:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.988
X-Spam-Status: No, score=-1.988 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_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id XevMYKdUQ59E for <>; Mon, 9 Sep 2019 06:39:47 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5E96D120047 for <>; Mon, 9 Sep 2019 06:39:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc: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=JbhWK4jifhT4Yqmq6Iu8Pw6+ovG3ibyhW6QjwpuGGLs=; b=24Chmyyn7heOQ+g9q/+O0dUv1 1EFXAhs0nR7tCu+oSKrwJ3AH/OUQtBQo0I6xpXFSdliwOSlTjpE56YnZO3S7dnPq5tt+00sWaZ0Sw EtcSSogqTtYukbPhxBeDiYPFDTaYhiKa0vPft3ZB4gmyQ89Rf5BjQQRCUyf8wmCGYFDSbp9XnaTCp SxAEVSYmMdpQhT9UT9wVc9i+GXLyvDqmpwA4cqM9wy06zbqRU5BSI2b4EDgMgJGDBGIaJAerI1zUE X+L1Sd4yLmfnHQ9bGSHi7RR2lb9lqzKWNxcebrvSr9i46ujAlG1ZY4BlNekW341ahEZJcrO03zd9w klOUQF0fQ==;
Received: from ([]:54752 helo=[]) by with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92) (envelope-from <>) id 1i7JtP-0005H2-Lw; Mon, 09 Sep 2019 14:39:44 +0100
From: Bob Briscoe <>
Message-ID: <>
Date: Mon, 9 Sep 2019 14:39:41 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------5C6FBE8607E4EE5CC439692C"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname -
X-AntiAbuse: Original Domain -
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain -
X-Get-Message-Sender-Via: authenticated_id:
Archived-At: <>
Subject: Re: [tsvwg] NQB PHB description and assumptions
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 09 Sep 2019 13:39:51 -0000


Altho Greg's taken your suggestions on board, there's some need for me 
to explain those that weren't in the draft... inline...

On 06/09/2019 08:12, wrote:
> Hi Bob,
> the following excerpt of your reply to David and Sebastian contains 
> text for which I couldn’t identify a clear reference in the NQB draft. 
> You ask the authors of that draft to add a description of the 
> scheduling. I agree with you and like to expand that to a description 
> of the PHB so that a reader has an idea about how to implement or 
> configure a NQB PHB beside the default PHB.
> What the NQB draft doesn’t mention, but you do:
>   * You state NQB doesn’t require priority queuing (the NQB draft
>     suggests to operate EF and NQB via the same queue with DSCPs
>     101110 for EF and 101010 for NQB, which to me means, it’s traffic
>     destined to a priority queue).
You're assuming that NQB is classified into a queue designed the way EF 
has been specified in the RFC. In the solution for low latency DOCSIS, a 
queue is designed for sources that behave in an NQB way. And, altho the 
queue does not comply with the RFC defining EF, packets tagged EF are 
also classified into it, because their sources satisfy the NQB behaviour 
and they can take advantage of the low delay.

>   * You state that NQB is enabled largely by high bandwidth Internet
>     accesses. The NQB draft doesn’t.
I didn't intend hi b/w to be a requirement for NQB.

That was merely me saying that, if you have hi bandwidth, NQB could be 
designed like I proposed in my straw man. There might be other NQB 
designs for low b/w (obviously more difficult tho).

I.e. the more b/w you have, the less you're tied to 'old-school' QoS 
designs, where low delay depends on bandwidth priority.

>   * You are quite specific with one possible requirement, which in
>     general would be that a maximum length PDU should be serialized by
>     a link suitable for NQB within less than 1 ms. The NQB draft
>     doesn’t say so.
I've checked and I can't find where you think I said that. If I implied 
it, I didn't mean to. The closest was when I said this...

On 05/09/2019 19:23, Bob Briscoe wrote:
>> _Background_: NQB has become possible largely because Internet access 
>> link rates have typically become fast enough that the serialization 
>> delay of a packet can be sub-millisecond, and therefore a queue of a 
>> few packets introduces delay that is small relative to other 
>> non-optional sources of delay like propagation. In these cases we no 
>> longer need priority scheduling for low delay._
>> _

I only said sub-millisecond 'cos it's about an order or magnitude lower 
than typical propagation delays over the public Internet, and therefore 
tends towards an insignificant contribution to overall delay.

In the context of a data centre with 1ms RTT diameter, that sentence 
would translate to 'link rates ... fast enough that serialization delay 
.. can be sub-100us'.

>   * Further, your example suggests a 3ms@accessbandwidth buffer depth
>     for the NQB Queue. The draft is not specific here, and it likely
>     doesn’t have to be that detailed.
I gave a strawman example so I could argue with David & Sebastian in a 
concrete way. No implication that the draft should be as concrete, or 
even that it should use the example.

>   * In my eyes, the draft NQB PHB description is vague. I’m clueless
>     how to implement or configure an NQB queue, if I read the draft.
> I’d like to add another point: if, in the example below, the NQB 
> traffic stays below 50% link utilization also in the case of access 
> link congestion, it shouldn’t see a queue.
Er no... Consider bursts of ten back-to-back 1500B packets sent on 
average every 30 ms from a 1Gb/s NIC into a 100Mb/s link. That's an 
average of only 4% utilization (4Mb/s), but at the end of each burst the 
queue is 9 packets.

Even if each NQB flow perfectly paces its own packets, the size of queue 
will depend on the number of uncoordinated flows. That's because the 
number of flows determines how many packets could arrive at about the 
same time and cause a queue. My calculation gave the worst case queue 
where a packet from all n flows happens to arrive at the same time. 
Statistically unlikely, but I explained I was calculating the tail of 
the delay distribution.


> Regards,
> Ruediger
>       ===Misunderstanding?==
> [snip]
> Please confirm that you (both) understand that, with NQB, the low 
> latency is not provided by scheduling in the network. It is primarily 
> a property of NQB traffic sources, and the only necessary property of 
> the network's per-hop behaviour for NQB is to isolate NQB from QB 
> traffic (i.e. in a separate queue for the NQB class). There is no 
> priority scheduling requirement.
> [A comment I would make to the authors about the draft: it needs to 
> give some example approaches to scheduling between NQB and QB, or at 
> least talk about this scheduling.]
>       ==Incentive Alignment?==
> _Background_: NQB has become possible largely because Internet access 
> link rates have typically become fast enough that the serialization 
> delay of a packet can be sub-millisecond, and therefore a queue of a 
> few packets introduces delay that is small relative to other 
> non-optional sources of delay like propagation. In these cases we no 
> longer need priority scheduling for low delay._
> Config_:
>   * Scheduler:
>       o WRR with weight 0.5 for NQB on a 120Mb/s link. That gives at
>         least 60Mb/s for NQB flows.
>       o Scheduler quantum: 1500B.
>   * Buffering:
>       o The NQB buffer is fairly shallow (30 packets or 3ms at 120Mb/s).
>       o The QB buffer is deeper (say 200ms) with an AQM target delay
>         of say 10ms.

Bob Briscoe