On Apr 6, 2017, at 3:42 PM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:

Ah, right; you can't get the two-level scheduling that Cake does with
just FQ-CoDel. Didn't realise you were looking for that, sorry...

You could assign a fixed number of hash buckets to each member (i.e.
member #1 gets buckets 1-10, say, hashing flows into those). But the
FQ-CoDel scheduler would be oblivious to the hierarchy, so a member with
10 active queues would get service for each of those each time another
member with just one active queue gets service for his queue.

To get the hierarchical sub-division, you'd need to have a two-level
scheme where you have a separate instance of fq-codel per member.

Well, it's only perhaps a requirement. I’m in the middle of some flow isolation tests to look at the difference between Cake’s ‘srchost’ and ‘dual-srchost’ keywords and try to figure out whether one or the other is “better" to use on a ISP backhaul’s egress. I’m not sure yet, but if there are any opinions on it it could help.

But this is also helpful, because either per-member scheduling is good enough, or we’d need multiple fq_codel instances, and at that point it could also be Cake as well… :)