[Bloat] About Stochastic Fair Blue (SFB)
Dave Täht
d at taht.net
Fri Feb 4 10:54:57 PST 2011
Juliusz Chroboczek <jch at pps.jussieu.fr> writes:
>> Also, would you mind if I also put the SFB code into git somewhere
>> on github? It could use a few minor tweaks (make install).
>
> If that's okay with you, I'd like to commit it myself.
Go right ahead! Just tell us where.
> If you suggest the right repo to clone, I'll be glad to do it, and
> you'll be able to merge it afterwards.
My thought was, since there is an upcoming flurry of AQM modules, that
it would be good to have a structure that allowed for them all to be
maintained in a shared repository. So something like a Linux-AQM repo
with a tree for each qdisc. They are highly modular so forking a Linux
branch like Linux-wireless seems like overkill, at the moment.
Thoughts?
>
>> 1) You can hash against multiple combinations of things. For example, in
>> the home gateway scenario, you could hash against IP addresses only, not
>> IP/port numbers - to give a per-device level of fairness.
>
> Stolen from esfq.
Great artists steal!
>> 3) It does packet marking... (So has to be used in combination with
>> something else)
>
> I think you're confused -- it does ECN marking, not netfilter marking.
The need for multiple levels of qdisc is that other protocols than TCP
do not have ECN.
>
>> 1) I don't understand how the penalty box concept works.
>
> For each aggregate, sfb maintains a variable, called pdrop, which is the
> drop probability for this aggregate; the more agressive a flow, the
> higher pdrop.
>
> If the flow is inelastic, i.e. it doesn't slow down in reaction to
> dropped packets, pdrop reaches 1. At that point, sfb should in
> principle drop all the packets of this aggregate -- we say that this
> aggregate has been put in a penalty box.
>
> (In my implementation of sfb, I'm not actually dropping all the packets
> of inelastic flows, I'm just rate-limiting them drastically.)
Thank you, that clears it up.
>> 2) I don't understand how it would interact with shaping above and
>> below it
>
> There's nothing below sfb, since it's a classless discipline.
>
> You may put anything you wish above sfb. If you're the bottleneck and
> use a driver that performs proper backpressure, it's okay to put
> nothing; otherwise, you need to put something to simulate backpressure,
> typically tbf or htb.
Except that other flows can be non-tcp - udp - sctp... Another
"interesting" qdisc is hsfc. I know firsthand how badly different qdiscs
can interact with each other....
>
> --Juliusz
--
Dave Taht
http://nex-6.taht.net
More information about the Bloat
mailing list