CoDel AQM discussions
 help / color / mirror / Atom feed
* [Codel] SfqCodel
@ 2015-04-10 20:30 sahil grover
  2015-04-10 20:55 ` Jonathan Morton
  0 siblings, 1 reply; 3+ messages in thread
From: sahil grover @ 2015-04-10 20:30 UTC (permalink / raw)
  To: codel, Dave Taht, Jonathan Morton, David Lang

[-- Attachment #1: Type: text/plain, Size: 369 bytes --]

Hi

i am very curious to know about  sfqCodel.

i guess  i need to learn sfq first.

So i tried with this "
http://www.rdrop.com/users/paulmck/scalability/paper/sfq.2002.06.04.pdf"
 paper.

But its so long and does not work for me.

and i just want to know the concept of SFQ in simple words.

So anyone please explain me about SFQ/sfqCoDel.

Please tell me something.

[-- Attachment #2: Type: text/html, Size: 702 bytes --]

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

* Re: [Codel] SfqCodel
  2015-04-10 20:30 [Codel] SfqCodel sahil grover
@ 2015-04-10 20:55 ` Jonathan Morton
  2015-04-11  8:11   ` sahil grover
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Morton @ 2015-04-10 20:55 UTC (permalink / raw)
  To: sahil grover; +Cc: David Lang, codel

[-- Attachment #1: Type: text/plain, Size: 1432 bytes --]

SFQ is quite simple in essence. It performs flow isolation, allowing
packets from different flows to bypass each other.

A flow is defined as packets possessing a common 5-tuple of source address,
destination address, protocol (TCP, UDP, ICMP etc), source port and
destination port.

Ideally, Fair Queuing would perfectly separate all flows into queues, then
service each of them equally and fairly in turn, for some measure of
equality and fairness. This would provide ideal flow isolation.

SFQ is not quite this ideal model. The 5-tuple is converted into a hash
value which is used directly to index into a fixed list of queues; thus
hash collisions can occur which mix traffic from multiple flows in the same
queue. It also services queues in a strict round-robin, delivering one
packet per cycle, regardless of the relative sizes of these packets. These
are compromises intended to minimise CPU overhead and implementation
complexity. (They made sense at the time when SFQ was cutting edge, which
was a long time ago.)

Fq_codel as implemented in Linux is not the same as sfq_codel as
implemented in ns2. Instead of using SFQ to provide flow isolation, it uses
DRR++, which provides bytewise fairness and a priority boost to sparse
flows. Recent work has also found a way to significantly reduce the hash
collision problem without imposing much additional overhead, and this has
been incorporated into cake.

- Jonathan Morton

[-- Attachment #2: Type: text/html, Size: 1542 bytes --]

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

* Re: [Codel] SfqCodel
  2015-04-10 20:55 ` Jonathan Morton
@ 2015-04-11  8:11   ` sahil grover
  0 siblings, 0 replies; 3+ messages in thread
From: sahil grover @ 2015-04-11  8:11 UTC (permalink / raw)
  To: Jonathan Morton; +Cc: codel

[-- Attachment #1: Type: text/plain, Size: 1599 bytes --]

thanks for your help as always.

On Sat, Apr 11, 2015 at 2:25 AM, Jonathan Morton <chromatix99@gmail.com>
wrote:

> SFQ is quite simple in essence. It performs flow isolation, allowing
> packets from different flows to bypass each other.
>
> A flow is defined as packets possessing a common 5-tuple of source
> address, destination address, protocol (TCP, UDP, ICMP etc), source port
> and destination port.
>
> Ideally, Fair Queuing would perfectly separate all flows into queues, then
> service each of them equally and fairly in turn, for some measure of
> equality and fairness. This would provide ideal flow isolation.
>
> SFQ is not quite this ideal model. The 5-tuple is converted into a hash
> value which is used directly to index into a fixed list of queues; thus
> hash collisions can occur which mix traffic from multiple flows in the same
> queue. It also services queues in a strict round-robin, delivering one
> packet per cycle, regardless of the relative sizes of these packets. These
> are compromises intended to minimise CPU overhead and implementation
> complexity. (They made sense at the time when SFQ was cutting edge, which
> was a long time ago.)
>
> Fq_codel as implemented in Linux is not the same as sfq_codel as
> implemented in ns2. Instead of using SFQ to provide flow isolation, it uses
> DRR++, which provides bytewise fairness and a priority boost to sparse
> flows. Recent work has also found a way to significantly reduce the hash
> collision problem without imposing much additional overhead, and this has
> been incorporated into cake.
>
> - Jonathan Morton
>

[-- Attachment #2: Type: text/html, Size: 2009 bytes --]

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

end of thread, other threads:[~2015-04-11  8:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-10 20:30 [Codel] SfqCodel sahil grover
2015-04-10 20:55 ` Jonathan Morton
2015-04-11  8:11   ` sahil grover

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