Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
* [Cake] Other codel decay issues
@ 2015-04-12 22:14 Dave Taht
  2015-04-12 23:22 ` Jonathan Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Taht @ 2015-04-12 22:14 UTC (permalink / raw)
  To: cake

Codel state variable decay is an issue. I did not poke
into the 8 way set associative cache worked, but...

Queues empty and fill at lower rates as well, you DO
want to reuse the codel queue that was going into in
that case.

Eric settled on about 3 seconds to gc sch_fq; most
codel versions reset their state at 1600ms empty.

You probably want a "fresh" codel queue for each new
flow, or one borrowing from other existing states.

(I actually do like pie sometimes, just measuring the
total queue and then trying to find an ideal drop rate)
-- 
Dave Täht
Open Networking needs **Open Source Hardware**

https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Cake] Other codel decay issues
  2015-04-12 22:14 [Cake] Other codel decay issues Dave Taht
@ 2015-04-12 23:22 ` Jonathan Morton
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Morton @ 2015-04-12 23:22 UTC (permalink / raw)
  To: Dave Taht; +Cc: cake


> On 13 Apr, 2015, at 01:14, Dave Taht <dave.taht@gmail.com> wrote:
> 
> Codel state variable decay is an issue. I did not poke
> into the 8 way set associative cache worked, but...
> 
> Queues empty and fill at lower rates as well, you DO
> want to reuse the codel queue that was going into in
> that case.
> 
> Eric settled on about 3 seconds to gc sch_fq; most
> codel versions reset their state at 1600ms empty.
> 
> You probably want a "fresh" codel queue for each new
> flow, or one borrowing from other existing states.

I took this into account with the set-associative hash design.

The function deliberately tries to keep the same flow in the same queue as much as is reasonable, without flip-flopping a given queue between flows.  The latter is only likely to occur if both flows are fairly sparse, giving Codel little to do on them, or if severe overload is causing collisions.

To help with testing this, I note that the first version of cake was functionally equivalent to fq_codel if you specified “unlimited besteffort” as its options.  Cake3 behaves similarly in this respect, except that now you get the set-associative hash instead of the plain one (and there’s no way to turn that off at runtime).

 - Jonathan Morton


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-12 23:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-12 22:14 [Cake] Other codel decay issues Dave Taht
2015-04-12 23:22 ` Jonathan Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox