[Codel] [Bloat] [Cerowrt-devel] FQ_Codel lwn draft article review
eric.dumazet at gmail.com
Wed Nov 28 14:00:22 EST 2012
On Wed, 2012-11-28 at 09:44 -0800, Paul E. McKenney wrote:
> You lost me on this one. It looks to me like net/sched/sch_fq_codel.c
> in fact does hash packets into flows, so FQ-CoDel is stochastic in the
> the same sense that SFQ is. In particular, FQ-CoDel can hash a thin
> session into the same flow as a thick session, which really is the
> birthday effect.
> Now FQ-CoDel uses a 1024-bucket hash table compared to SFQ's default
> of 128 buckets, so FQ-CoDel will have smaller collision probabilities
> than will SFQ on a given set of flows. In addition, FQ-CoDel seems
> to be able to tolerate a limited number of collisions among thin flows,
> while SFQ doesn't distinguish thin from thick.
> But the possibility of stochastic collision behavior really is there
> with FQ-CoDel. I hasten to add that in practice, I do not expect this
> possibility of stochastic behavior to be a problem in the common case.
> Or am I missing your point? Or perhaps your definition of either
> fairness or stochastic?
Thats absolutely correct, fq_codel uses a stochastic hashing exactly
In fact, I wrote fq_codel using same base, after patching SFQ and
hitting some limits last year.
Note that I played a bit with a version using a non stochastic hash,
we tested it here in our labs.
This can help if you really want to avoid a thick flow sharing a thin
flow bucket, but given that all packets are going eventually into the
Internet (or equivalent crowded network), its not really a clear win.
Its more an academic issue...
More information about the Codel