Note that having no AQM at all, and only flow queuing (e.g. fq_nocodel),
leaves some applications in dire straights, being both interactive, and
using a single TCP stream (for example, you really don't want to run my
favorite window system, X, over a bloated link without some form of
mark/drop algorithm to keep TCP behaving sanely).  And with RTT's of those
applications growing without bounds, they become really insane charging
elephants.  Ironically, I used to be able to run X over intercontinental
links (e.g. 150ms RTT's); trying that on today's bloated edge puts you in a
world of hurt.

So both a mark/drop algorithm and flow queuing are needed to really solve
the problem, though as Toke says, fq makes the biggest difference if you
only pick one. But this is really more of an artifact of the web's abuse of
TCP; tons of short, transient connections...
                                            - Jim



On Mon, Apr 13, 2015 at 1:41 PM, Toke Høiland-Jørgensen <[email protected]>
wrote:

> "Francini, Andrea (Andrea)" <[email protected]> writes:
>
> > CoDel's effort to limit the queuing delay appears well motivated when
> > there is only one queue (e.g., to shield VoIP from the delay induced
> > by bulk-transfer or video traffic), but when multiple queues are
> > available the net gain of the effort is unclear. I suspect the same
> > may happen with the flow-queue version of PIE.
>
> Yep, this has been my conclusion as well, and the test results on those
> slides are what convinced me of it: flow queueing is much more important
> than AQM, for most applications. However, note that in the tests I have
> run, the latency is measured by a separate flow; the latency of the
> packets making up the bulk flows is not measured. For most common
> traffic, this is fine, but there can be exceptions where you have a flow
> that has enough traffic to induce a queue, but which also requires low
> latency throughout. Adaptive video codecs for real-time media is a
> notable example. For those, having the AQM is nice.
>
> Also, having the AQM in place guards you against hash collisions. With
> the AQM in place, you degrade to its performance, whereas without,
> you're basically back to a large, dumb FIFO queue. fq_codel as it exists
> now is unfortunately not immune to those; we're working (in the
> Bufferbloat community) on an improved queueing discipline that solves
> this in most cases. See
> http://www.bufferbloat.net/projects/codel/wiki/Cake
>
> > Is this just because the set of tests in the slides does not include
> > one that clearly exposes the superiority of fq_codel over fq_nocodel?
> > And what would that test look like?
>
> Well, see above. Adaptive real-time video in particular is under-tested,
> in part due to a lack of good tools to generate traffic. Also, if you
> want to see fq_* break, try sticking all your flows in an encrypted VPN :)
>
> -Toke
>
> _______________________________________________
> aqm mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/aqm
>
_______________________________________________
aqm mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/aqm

Reply via email to