[Cerowrt-devel] [Codel] [Bloat] Latest codel, fq_codel, and pie sim study from cablelabs now available

Jesper Dangaard Brouer brouer at redhat.com
Tue May 14 08:12:15 EDT 2013


On Mon, 13 May 2013 22:26:04 -0400
Dan Siemon <dan at coverfire.com> wrote:

> On Thu, 2013-05-02 at 15:04 +0300, Jonathan Morton wrote:
> > I can easily see a four-tier system working for most consumers, just
> > so long as the traffic for each tier can be identified - each tier
> > would have it's own fq_codel queue:

I generally like it, but some notes below.

> > 1) Network control traffic, eg. DNS, ICMP, even SYNs and pure ACKs -
> > max 1/16th bandwidth, top priority

I used a separate queue for ACK packets, and directly calculated the
needed bandwidth for ACK packets based on the downstream link.
See:
 http://sourceforge.net/p/adsl-optimizer/code/HEAD/tree/trunk/kode/optimizer/queues/include/functions.inc#l94

(My future idea was to implement an ACK aware qdisc, that would drop
accumulative ACK packets or delay ACKs to influence downstream behavior)

> > 2) Latency-sensitive unresponsive flows, eg. VoIP and gaming - max
> > 1/4 bandwidth, high priority
> > 
> > 3) Ordinary bulk traffic, eg. web browsing, email, general purpose
> > protocols - no bandwidth limit, normal priority

So, these two above is "known-good" traffic, that gets categorized into
these.

> > 4) Background traffic, eg. BitTorrent - no bandwidth limit, low
> > priority, voluntarily marked, competes at 1:4 with normal.

I worked with two classes for this, (1) a default fall-through traffic
class, where uncategorized traffic end-up. (2) a known "bad" low-prio
traffic class, for traffic I could categorize as BitTorrent etc.

http://sourceforge.net/p/adsl-optimizer/code/HEAD/tree/trunk/kode/optimizer/queues/htb/optimizer_htb.sh#l227


> The above is close to what I implemented:
> http://git.coverfire.com/?p=linux-qos-scripts.git;a=blob;f=src-3tos.sh;h=3e88c2fa5f2feb0163c052086541ba17579a3c37;hb=HEAD

Nice, and thank you for mentioning my (old) site: http://www.adsl-optimizer.dk

And actually have a script that mentions (and can use) the ADSL
linklayer options :-)


> The above aims for per-host fairness and three tiers per host. Each
> tier has an fq_codel QDisc (configurable).
> 
> Some performance results can be found at:
> http://www.coverfire.com/archives/2013/01/01/improving-my-home-internet-performance/

p.s. I love your "ping-exp" tool and the nice graphs it generates!

Others go clone:
 git clone http://git.coverfire.com/ping-exp.git


-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Sr. Network Kernel Developer at Red Hat
  Author of http://www.iptv-analyzer.org
  LinkedIn: http://www.linkedin.com/in/brouer



More information about the Cerowrt-devel mailing list