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
