General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Jim Gettys <jg@freedesktop.org>
To: Bob Briscoe <bob.briscoe@bt.com>
Cc: bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] What is fairness, anyway? was: Re: finally... winning on wired!
Date: Fri, 06 Jan 2012 12:42:59 -0500	[thread overview]
Message-ID: <4F0732A3.9000000@freedesktop.org> (raw)
In-Reply-To: <201201051753.q05Hqx78012678@bagheera.jungle.bt.co.uk>

On 01/05/2012 12:52 PM, Bob Briscoe wrote:
> 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 <dave.taht@gmail.com> wrote:
>> >
>> > On Wed, Jan 4, 2012 at 4:25 PM, Jim Gettys <jg@freedesktop.org> 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.

That's not how these queuing disciplines work, from what little I
understand: I'll let Eric and Dave explain exactly what SFQ + QFQ etc.
are doing.  I think the word "fair" is getting over-used/abused and can
cause us all to have terminal confusion, since "fair queuing" in the
research community has a specific meaning.

Eric, Dave, care to explain exactly what these queuing disciplines are
doing, and how they differ?

>
> 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.


In home routers we *are* at the very edge of the network (in fact beyond
the ISP's domain in the case of cable), and that is the focus of the
experiments that Eric and Dave have been doing.  And here we can afford
to keep track of per-user state in those devices.  That some of these
queuing disciplines have such nice effects on latency of many
applications is gravy.

This is the point where we go from multiple *users* to the single
*customer*, which is what you see from where you sit.

I think "fair queueing" (whatever fair means) is pretty orthogonal to
AQM in general: we need AQM to keep the overall buffers from filling
from elephant flows and running full, which is never good, and causes
packet loss, which ultimately these queuing disciplines don't handle... 
And AQM is probably all that is needed upstream of the customer,
particularly since "fairness" is entirely in the eye of the beholder. 
And we still need an AQM known to work presented with variable bandwidth
:-(....

I think we're in agreement here.  And if not, this is the time to get
everyone to understand and share terminology.

                    - Jim

>
>
> Bob
>
>
>
>
>
>
>
>
>
> ________________________________________________________________
> Bob Briscoe,                                BT Innovate & Design


  reply	other threads:[~2012-01-06 17:43 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-02  0:40 [Bloat] " Dave Taht
2012-01-02  5:22 ` Eric Dumazet
2012-01-02  8:07   ` Dave Taht
2012-01-02 21:31     ` Dave Taht
2012-01-02 22:14       ` Albert Rafetseder
2012-01-02 22:33         ` Dave Taht
2012-01-04 15:25       ` [Bloat] What is fairness, anyway? was: " Jim Gettys
2012-01-04 16:16         ` Dave Taht
2012-01-04 17:23           ` Jim Gettys
2012-01-04 17:36           ` Justin McCann
2012-01-04 17:40             ` Eric Dumazet
     [not found]             ` <CAFkTFa89mOmbcOV1PWX3my04rK4NsEvyakcQV2j54qa0gzAViQ@mail.g mail.com>
2012-01-05 17:52               ` Bob Briscoe
2012-01-06 17:42                 ` Jim Gettys [this message]
2012-01-06 18:09                   ` Dave Taht
2012-01-06 19:57                   ` Eric Dumazet
2012-01-06 20:34                 ` Jonathan Morton
2012-01-07 19:42                   ` Bob Briscoe
2012-01-07 22:16                     ` Wesley Eddy
2012-01-08  0:40                 ` Dave Taht
     [not found]                   ` <CAA93jw7xKwdUeT7wFNoiM8RQp1--==Eazdo0ucc44vz+L1U06g@mail.g mail.com>
2012-01-09  5:38                     ` Bob Briscoe
2012-01-11  7:26                       ` Dave Taht
     [not found]                         ` <CAA93jw4KJdYwrAuk7-yHDYCGBh1s6mE47eAYu2_LRfY45-qZ2g@mail.g mail.com>
2012-01-14 11:06                           ` Bob Briscoe
2012-01-13 21:45                   ` Dan Siemon
2012-01-14 15:55                     ` Dave Taht
2012-01-04 16:22         ` Eric Dumazet
2012-02-05  0:24         ` George B.
2012-02-05  0:43           ` Jonathan Morton
2012-02-05  1:57             ` George B.
2012-02-05  2:05               ` john thompson
2012-02-05  7:39             ` Eric Dumazet
     [not found]               ` <CAA93jw68yntHkhETQ1a9-Azu7UXEuU9f5fgOsB25hvA240iApg@mail.gmail.com>
2012-02-05 14:24                 ` Dave Taht
2012-02-05 17:53               ` Justin McCann
2012-02-05 18:21                 ` Eric Dumazet
2012-01-14 16:35 Jesper Dangaard Brouer
2012-01-15  9:49 ` Dave Taht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F0732A3.9000000@freedesktop.org \
    --to=jg@freedesktop.org \
    --cc=bloat@lists.bufferbloat.net \
    --cc=bob.briscoe@bt.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox