All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] SFQ buckets/extensions
@ 2002-06-05 16:04 Don Cohen
  2002-06-06  0:53 ` Alexander Atanasov
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: Don Cohen @ 2002-06-05 16:04 UTC (permalink / raw)
  To: lartc


 > ... What if SFQ were to start with a minimal number of buckets, and
 > track how 'deep' each bucket was, then go to a larger number of bits
 > (2/4 at a time?) if the buckets hit a certain depth?  Theoretically,
 > this would mean that 'fairness' would be achieved more often in current
 > collision situations but that a smaller number of buckets would be
 > necessary to achieve fairness in currently low-collision situations.
 > 
 > I haven't looked at the SFQ code in a while, so I don't know how much
 > benefit this would be in terms of processing time, or even how expensive
 > it would be to change hash sizes on the fly, but at a certain level of
 > resolution (+/- 2-4 bits), the changes wouldn't be terribly frequent
 > anyway.

A few reactions:
- The only runtime cost of lots of buckets is a small amount of
storage for each bucket.  Allocating buckets at runtime also
introduces the problem that you could run out of space.
- There's no advantage to having many more buckets that the number 
of packets you're willing to queue, which is typically only on the
order of a few hundred.

== extensions
 > And all the discussions tend to lead to the conclusion that there should
 > be an sfq option (when the queue is created) for:
 > 	a) how big the hash is
 > 	b) whether to take into account source ports or not
 > 	c) whether to take into account destination ports or not
 > 	d) etc. :)
 > 
 > Maybe someone who's written a qdisc would feel up to this?

I've been hoping to get to it, since I have other stuff I'd like to
incorporate into a new sfq version.  

 > From: Alexander Atanasov <alex@ssi.bg>
 > 	I've done some in this direction , probably needs more work, and
 > it's poorly tested - expect b00ms ;)
 > 	
 > 	This adds a new qdisc for now - esfq which is a 100% clone of
 > original sfq.
 > 	- You can set all sfq parameters: hash table size, queue depths,
 > queue limits.
 > 	- You can choose from 3 hash types: original(classic), dst ip, src
 > ip.
 > 	Things to consider: perturbation with dst and src hashes is not
 > good IMHO, you can try with perturb 0 if it couses trouble.
 > 
 > 	Please, see the attached files.
 > 
 > 	Plaing with it gives interesting results:  
 > 	higher depth -> makes flows equal slower
 > 	small depth  -> makes flows equal faster
 > 	limit kills big delays when set at about 75-85% of depth.

I don't understand what these last three lines mean.  Could you
explain?

 > 
 > 	Needs testings and mesurements - that's why i made it
 > separate qdisc and not a patch over sfq, i wanted to compare both.
 > 
 > 	Any feedback good or bad is welcome. 

I'll send you my current module, also a variant of SFQ.  It contains
doc that I think is worth including, also changes some of the code to
be more understandable, separates the number of packets allowed in the
queue from the number of buckets, supports the time limit (discussed
in earlier messages), controls these things via /proc, maybe a few
other things I'm forgetting.  This version does not support hashing on
different properties of the packet, cause it uses a totally different
criterion for identifying "subclasses" of traffic.  You can discard
that and restore the sfq hash with your modifications.  I think (hope)
these changes are pretty much independent.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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

end of thread, other threads:[~2002-06-08 18:42 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-05 16:04 [LARTC] SFQ buckets/extensions Don Cohen
2002-06-06  0:53 ` Alexander Atanasov
2002-06-06  6:01 ` Don Cohen
2002-06-06 13:05 ` Michael T. Babcock
2002-06-06 23:06 ` Alexander Atanasov
2002-06-06 23:38 ` Don Cohen
2002-06-07  1:33 ` Alexander Atanasov
2002-06-07  1:59 ` Don Cohen
2002-06-07  8:26 ` Alexander Atanasov
2002-06-07 14:18 ` Michael T. Babcock
2002-06-07 14:37 ` Jan Coppens
2002-06-07 16:14 ` Don Cohen
2002-06-07 18:13 ` Martin Devera
2002-06-07 18:38 ` Martin Devera
2002-06-07 19:01 ` Michael T. Babcock
2002-06-07 19:08 ` Martin Devera
2002-06-07 19:50 ` Michael T. Babcock
2002-06-08 18:42 ` Gregory Maxwell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.