I have a question about how CoDel (as defined in
draft-ietf-aqm-codel-01) behaves on high-speed (e.g., >= 1 Gbps) links.
If this has been discussed before, please just point me in the right
direction.

In the text below, I'm using "drop" to mean either packet discard/ECN
mark.  I'm using (instantaneous) "drop frequency" to mean the inverse of
the interval between consecutive "drops" during a congestion epoch,
measured in drops/sec.

The control law for CoDel computes the next time to drop a packet, and
is given as:

  t + interval/sqrt(count)

where t is the current time, interval is a value roughly proportional to
maximum RTT (recommended 100 msec), and count is cumulative number of
drops during a congestion epoch.  It is not hard to see that drop
frequency increases with sqrt(count).  At the first drop, the frequency
is 10 drop/sec; after 100 drops it is 100 drops/sec; after 1000 drops it
is 316 drops/sec.

On a 4 Mbps link serving say 1000 packets/sec (on average), CoDel
immediately starts dropping 1% of packets and ramps up to ~10% after 100
drops (1.86 secs).  This seems like a reasonable range.  On a 10 GE link
serving 2.5 MPPs on average, CoDel would only drop 0.013% of packets
after 1000 drops (which would occur after 6.18 secs).  This doesn't seem
to be very effective.  It's possible to reduce interval to ramp up drop
frequency more quickly, but that is counter-intuitive because interval
should be roughly proportional to maximum RTT, which is link-speed
independent.

Unless I am mistaken, it appears that the control law should be
normalized in some way to average packet rate.  On a high-speed link, it
might be common to drop multiple packets per-msec, so it also isn't
clear to me whether the drop frequency needs to be recalculated on every
drop, or whether it could be recalculated over a shorter interval (e.g.,
5 msec).


Regards,
 
// Steve

_______________________________________________
aqm mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/aqm

Reply via email to