Hi Ruerdiger,

> On Mar 14, 2023, at 16:09, <ruediger.g...@telekom.de> 
> <ruediger.g...@telekom.de> wrote:
> 
> Dave,
> 
> thanks for asking - I'm not an NQB author, and my know-how on Linux QoS / 
> Cake is fairly zero. Did you want to address Greg?
> 
> I myself am still struggling to understand how NQB operates. I understand the 
> idea behind it, but questions on operation still remain.
> 
> NQB has been designed for AC_VI, not AC_VO.

        This is not how I remember it... it is designed to operate at slightly 
elevated conditional priority over AC_BE, it is just that WiFI does not offer 
that so Greg went for the next best thing AC_VI happily accepting the airtime 
unfairness this is going to introice. I think calling this designed for AC_VI 
is maked "designed" do too much work in that sentence.


> So aggregating it with other video related DSCPs may make sense. Greg's draft 
> partially suggests other PHBs to forward NQB, I think. My main concern is 
> that no flow should be able to starve off Best Effort by design.

        Let's please use a realistic definition of "starve" here that is less 
absolute than "suppress to minimal congestion window" which occasional seems to 
be used in this WG.

> If the Linux Cake implementation does so, also if combined with WiFi 
> scheduling, then I'm fine.

        In cake "Video" is really just a name for one of the elevated priority 
classes (to give users a sense of what they could put in there). Now cake does 
not use priority queueing but if a priority tin exceeds its capacity share that 
class is scheduled (round-robin) I believe with best effort. 


> If the result is, let's all mark all traffic by (e.g.) NQB as then we'll 
> certainly seize more bandwidth than BE/default, we don't need NQB.

        That is what is going to happen in cake: the Video tin gets 50% of 
capacity at priority (under contention, without other takes that flow gets up 
to 100%), if even a single flow is in there that single flow gets that 50% (if 
it actually uses it) even if competing with more flows in best effort...

> 
> This is not to say, NQB does or will starve off BE/default.

        No cake avoids starvation, but a flow abusing a priority tin can gain a 
considerably unfair throughput gain.

However none of this is actually needed, just leaving it in best effort and 
letting flow isolation and sparse boosting do its thing should be good enough 
for NQB use cases. The fact is cake really does not need NQB for the kind of 
service NQB is designed for. If you disagree Dave I am happy to see data 
showing this to be wrong.

> I'm however not sure, whether I understood operation of it completely and I 
> think, draft text is insufficient or not precise. I saw and appreciate that 
> precise flow definitions are part of the Linux/cake implementation. Draft NQB 
> offers none at all.

        Indirectly it does, after all that is what queue protection operates 
on. I do wonder though how this is going to fare with tunneled traffic...

Regards
        Sebastian


> 
> Regards,
> 
> Ruediger 
> 
> -----Ursprüngliche Nachricht-----
> Von: Dave Taht <dave.t...@gmail.com> 
> Gesendet: Dienstag, 14. März 2023 15:02
> An: Geib, Rüdiger <ruediger.g...@telekom.de>
> Cc: Greg White <g.wh...@cablelabs.com>; tsvwg IETF list <ts...@ietf.org>; 
> Cake List <cake@lists.bufferbloat.net>
> Betreff: draft-ietf-tsvwg-nqb-15.txt vs the cake AQM
> 
> I have been sitting on the cake related patches for this for years now, and 
> it is my hope to get support for NQB into the next linux release, regardless 
> of whether it gets through last call at this time, unless the selected 
> codepoint number changes. (?)
> 
> Cake (please see the man page here:
> https://man7.org/linux/man-pages/man8/tc-cake.8.html ) supports multiple 
> diffserv models.
> 
> besteffort is exactly that, besteffort, and will not gain NQB support.
> 
> The diffserv3 interpretation is the default, and given that flow queuing 
> handles most of the NQB-like problems naturally, and  Voice (CS7, CS6, EF, 
> VA, TOS4) is all that is handled there today, I am thinking of *not* 
> elevating NQB into that class is the right thing.
> 
> NQB fits nicely into the diffserv4 model in the video class, so I will put it 
> there. since covid we tend to use the diffserv4 model a lot to manage 
> videoconferencing better.
> 
> As for the CS0-CS7 precedence model inc cake, we have declared that obsolete 
> in the code, and wherever NQB falls into it, great. And the diffserv8, I 
> don´t know.
> 
> Anyway, does that work for everyone?
> 
> Part II of this would be a discussion of the various wash modes, but merely 
> getting the right byte into the right lookup tables after all this 
> discussion, would be nice.

_______________________________________________
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake

Reply via email to