* [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