Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Rich Brown <richb.hanover@gmail.com>
To: bloat <bloat@lists.bufferbloat.net>,
	cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>
Subject: [Cerowrt-devel] Questions about the use of HTB & fq_codel in simple.qos, simplest.qos
Date: Thu, 9 Apr 2015 17:35:09 -0400	[thread overview]
Message-ID: <67BE685A-724C-45D7-A619-EC49498AF165@gmail.com> (raw)
In-Reply-To: <CAA93jw7cix_TGiTLMT78hH-VGcF92e6BD7BTmpxKVmU7yqSBAw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2968 bytes --]

I've been thinking about the message we're sending re: QoS/prioritization vs SQM, and I'm not clear on what our story is. Here's what I understand:

- On one hand, we say that good SQM algorithms (fq_codel, for example) will do an astonishingly good job of minimizing latency without any parameters (except perhaps link speed for slow bottlenecks)

- On the other hand, our example sqm-scripts (simplest.qos, simple.qos) have a HTB based shaper installed that (if I understand Dave Täht's description below) seems designed to limit the rate of various kinds of traffic before it gets to fq_codel. (The HTB shaper would, a priori, require some kind of configuration/parameter.)

My questions:

- Why do we provide an HTB-based shaper in simple.qos and simplest.qos?
- Do the shapers in these sqm-scripts actually limit bandwidth for various kinds of traffic? Might that not leave unused bandwidth?
- Or do they just shunt certain packets to higher or lower priority fq_codel tiers/bands/levels (terminology used in Dave's note below)?
- And if the latter, how does the "link" (I'm not sure of the proper term) know which of the tiers/bands/levels to dequeue next?

I'll state up front that I'm not entirely clear on the distinction between shapers, qdisc's, IFBs, etc. But I'm groping around for a simple, clear recommendation for what we should tell people to do so they can:
	a) Make their router work very well, with minimal latency
	b) Spend their time more usefully than tweaking QoS/priority settings (for example, by actually playing the game that whose lag you're trying to minimize :-)

Many thanks!

Rich

On Dec 29, 2013, at 2:24 AM, Dave Taht <dave.taht@gmail.com> wrote:

>> QUESTION #4: What are the major features of (and/or differences between) the simple.qos, simplest.qos, and drr.qos scripts?
> 
> Simplest.qos is the simplest possible htb based shaper, with only a
> single fq_codel qdisc (with 1024 queues) Advantages are that it does
> optimal mixing and uses the least memory. (it works pretty good down
> to about 16 queues actually)
> 
> Simple.qos is a three tier system that can use diffserv and simple
> prioritization to give or remove priority to certain kinds of
> identifiable flows.  Right now it gives priority to locally generated
> dns and ntp packets, and a couple diffserv markings, and deprioritizes
> CS1. It would be nice if it was feature-competitive with qos-scripts,
> which have (for example) l7 inspection to find common torrent-like
> protocols, and a gui with lots of knobs to control that aspect.
> 
> I waffle on calling things "tiers" rather than "queues". "levels?"
> "Bands?" Band is used in the pfifo_fast and prio qdiscs, maybe we
> should call it that. A queue can be a queue, but an fq_codel queue
> consists of up to 64k flows which can also be considered queues. And
> it's turtles all the way down.
> ... Dave notes that inclusion of ddr.qos was a build error...


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 496 bytes --]

  reply	other threads:[~2015-04-09 21:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-29  4:35 [Cerowrt-devel] SQM Question #4: What are the major features of simple.qos, simplest.qos, and drr.qos scripts Rich Brown
2013-12-29  7:24 ` Dave Taht
2015-04-09 21:35   ` Rich Brown [this message]
2015-04-09 22:02     ` [Cerowrt-devel] [Bloat] Questions about the use of HTB & fq_codel in simple.qos, simplest.qos Jonathan Morton
2015-04-10 12:14       ` Rich Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=67BE685A-724C-45D7-A619-EC49498AF165@gmail.com \
    --to=richb.hanover@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox