Jim, Justin,

Jumping back one posting in this thread...

At 17:36 04/01/2012, Justin McCann wrote:
On Wed, Jan 4, 2012 at 11:16 AM, Dave Taht <[email protected]> wrote:
>
> On Wed, Jan 4, 2012 at 4:25 PM, Jim Gettys <[email protected]> wrote:
>
> 1: the 'slower flows gain priority' question is my gravest concern
> (eg, ledbat, bittorrent). It's fixable with per-host FQ.

Meaning that you don't want to hand priority to stuff that is intended
to stay in the background?

The LEDBAT/BitTorrent issue wouldn't be fixed by per-host FQ.
LEDBAT/uTP tries to yield to other hosts, not just its own host.

In fact, in the early part of the last decade, the whole issue of long-running vs interactive flows showed how broken any form of FQ was. This was why ISPs moved away from rate equality (whether per-flow, per-host or per-customer site) to various per-customer-volume-based approaches (or a mix of both).

There seems to be an unspoken assumption among many on this list that rate equality must be integrated into each AQM implementation. That's so 2004. It seems all the developments in fairness over the last several years have passed completely over the heads of many on this list. This page might fill in the gaps for those who missed the last few years:
<http://trac.tools.ietf.org/group/irtf/trac/wiki/CapacitySharingArch>

To address buffer bloat, I advise we "do one thing and do it well": bulk AQM.

In a nutshell, bit-rate equality, where each of N active users gets 1/N of the bit-rate, was found to be extremely _unfair_ when the activity of different users is widely different. For example: * 5 light users all active 1% of the time get close to 100% of a shared link whenever they need it. * However, if instead 2 of these users are active 100% of the time, FQ gives the other three light users only 33% of the link whenever they are active. * That's pretty rubbish for a solution that claims to isolate each user from the excesses of others.

Since 2004, we now understand that fairness has to involve accounting over time. That requires per-user state, which is not something you can do, or that you need to do, within every queue. We should leave fairness to separate code, probably on machines specialising in this at the edge of a provider's network domain - where it knows about users/customers - separate from the AQM code of each specific queue.


Bob









________________________________________________________________
Bob Briscoe, BT Innovate & Design
_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to