General list for discussing Bufferbloat
 help / color / mirror / Atom feed
* [Bloat] Thoughts on Stochastic Fair Blue
@ 2011-03-13  1:40 Jonathan Morton
  2011-03-24  1:03 ` Juliusz Chroboczek
  0 siblings, 1 reply; 12+ messages in thread
From: Jonathan Morton @ 2011-03-13  1:40 UTC (permalink / raw)
  To: bloat

Having read some more documents and code, I have some extra insight into SFB that might prove helpful.  Note that I haven't actually tried it yet, but it looks good anyway.  In control-systems parlance, this is effectively a multichannel I-type controller, where RED is a single-channel P-type controller.

My first thought after reading just the paper was that unconditionally dropping the packets which increase the marking probability was suspect.  It should be quite possible to manage a queue using just ECN, without any packet loss, in simple cases such as a single bulk TCP flow.  Thus I am pleased to see that the SFB code in the debloat tree has separate thresholds for increasing the marking rate and tail-dropping.  They are fairly close together, but they are at least distinct.

My second observation is that marking and dropping both happen at the tail of the queue, not the head.  This delays the congestion information reaching the receiver, and from there to the sender, by the length of the queue - which does not appear to be self-tuned by the flow rate.  However, the default values appear to be sensible.

Another observation is that packets are not re-ordered by SFB, which (given the Bloom filter) is potentially a missed opportunity.  However, they can be re-ordered in the current implementation by using child qdiscs such as SFQ, with or without HTB in tandem to capture the queue from a downstream "dumb" device.  The major concern with this arrangement is the incompatibility with qdiscs that can drop packets internally, since this is not necessarily obvious to end-user admins.

I also thought of a different way to implement the hash rotation.  Instead of shadowing the entire set of buckets, simply replace the hash on one row at a time.  This requires that the next-to-minimum values for q_len and p_mark are used, rather than the strict minima.  It is still necessary to calculate two hash values for each packet, but the memory requirements are reduced at the expense of effectively removing one row from the Bloom filter.

 - Jonathan


^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [Bloat] Thoughts on Stochastic Fair Blue
@ 2011-03-24 13:31 Dave Taht
  0 siblings, 0 replies; 12+ messages in thread
From: Dave Taht @ 2011-03-24 13:31 UTC (permalink / raw)
  To: bloat

Just we've done with debloat-testing, I'd like to have a git tree with
all the common shaper scripts in it.

We can do it on github, infradead, someone's private domain, etc.
suggestion for a name (debloat-shapers)?
Location?

-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://the-edge.blogspot.com

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

end of thread, other threads:[~2011-04-03 18:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-13  1:40 [Bloat] Thoughts on Stochastic Fair Blue Jonathan Morton
2011-03-24  1:03 ` Juliusz Chroboczek
2011-03-24  5:30   ` Dave Hart
2011-03-24 20:44     ` richard
2011-03-24 22:22       ` [Bloat] Packet drops, ECN and ECN+ [was: Thoughts on Stochastic Fair Blue] Juliusz Chroboczek
2011-03-25 19:22         ` Richard Scheffenegger
2011-04-03 16:35       ` [Bloat] Thoughts on Stochastic Fair Blue Juliusz Chroboczek
2011-04-03 18:03         ` Jonathan Morton
2011-03-24 11:59   ` Jim Gettys
2011-03-24 12:40   ` Jonathan Morton
2011-03-24 13:32     ` Eric Dumazet
2011-03-24 13:31 Dave Taht

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