Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

More fiddling

  • Loading branch information...
commit d5f75519661ceb5bcde42a4a59020d67f21a222e 1 parent fa6e771
Dave Taht authored
Showing with 13 additions and 12 deletions.
  1. +13 −12 fq_codel/middle.mkd
View
25 fq_codel/middle.mkd
@@ -11,9 +11,9 @@ The FQ-CoDel algorithm is a combined packet scheduler and AQM
developed as part of the bufferbloat-fighting community effort. It is
based on a modified Deficit Round Robin (DRR) queue scheduler, with
the CoDel AQM algorithm operating on each sub-queue. This document
-describes the combined algorithm; a reference implementation is
-included in the mainline Linux kernel as the FQ-CoDel queueing
-discipline.
+describes the combined algorithm; Reference implementations are
+available for ns2 and ns3 and it is included in the mainline Linux
+kernel as the FQ-CoDel queueing discipline.
The rest of this document is structured as follows: The rest of this
section gives some concepts and terminology used in the rest of the
@@ -51,12 +51,12 @@ Quantum: The amount of bytes in a flow that will be delivered at once.
## Informal summary of FQ-CoDel
FQ-CoDel is a *hybrid* of [DRR](#DRR) and [CODEL](#CODEL2012), with an
-optimisation for sparse flows similar to [SQF](#SQF2012). We call this "Flow
-Queueing" rather than "Fair Queueing" as flows that build a queue are
-treated differently than flows that do not.
+optimisation for sparse flows similar to [SQF](#SQF2012). We call this
+"Flow Queueing" rather than "Fair Queueing" as flows that build a
+queue are treated differently than flows that do not.
FQ-CoDel stochastically classifies incoming packets into different
-queues by hashing the 5-tuple of IP protocol number and source and
+sub-queues by hashing the 5-tuple of IP protocol number and source and
destination IP and port numbers, perturbed with a random number selected
at initiation time. Each queue is managed by the CoDel queueing
discipline. Packet ordering within a queue is preserved, since queues
@@ -108,11 +108,12 @@ appendix.
# CoDel
-CoDel is described in the the ACM Queue paper, (#CODEL2012), and Van
-Jacobson's IETF presentation. The basic idea is to control queue length,
-maintaining sufficient queueing to keep the outgoing link busy, but
-avoiding building up the queue beyond that point. This is done by
-preferentially dropping packets that remain in the queue for “too long”.
+CoDel is described in the the ACM Queue paper, [CODEL](#CODEL2012),
+and Van Jacobson's IETF84 presentation [IETF84]. The basic idea is to
+control queue length, maintaining sufficient queueing to keep the
+outgoing link busy, but avoiding building up the queue beyond that
+point. This is done by preferentially dropping packets that remain in
+the queue for “too long”.
When each new packet arrives, it is marked with its arrival time. Later,
when it is that packet's turn to be dequeued, CoDel computes its sojourn
Please sign in to comment.
Something went wrong with that request. Please try again.