[Cerowrt-devel] [Bloat] Testing Queue models

Dave Taht dave.taht at gmail.com
Wed Feb 1 15:46:14 EST 2012


On Wed, Feb 1, 2012 at 9:08 PM, Justin McCann <jneilm at gmail.com> wrote:
> On Wed, Feb 1, 2012 at 12:12 PM, Dave Taht <dave.taht at gmail.com> wrote:

> It sounds to me like you want to assign each device its own netfilter
> MARK, and mark each packet (by MAC?) on ingress, and then use the mark
> plus any other port/protocol selection you want to put it into the
> appropriate queue.

the mark would be a unique id per mac, pulled from a small pool in a LRU
fashion. 256 - heck, 64, values for it - would be suitable for most homes
and small businesses.

As for the "plus" part - no, want to FQ across device id, and then FQ/AQM
within that, against all the streams coming from the device.
This would give 1/d fairness and (in particular) cope with bittorrent
pretty nicely.

I have a QFQ prototype which worked pretty well, in the debloat repo,
except for the unfairness of the per/ip and per/ipv6 hashing problem.

>
>> I tend to view (in the home) as having 1/u network performance as the
>> ideal. There are exceptions to this, notably video vs. say,
>> bittorrent. A clever way of getting closer to 1/u might be to sense
>> for more recent DNS queries and move that to a more interactive class.
>
> You might try assigning each device to a user, and then marking as
> above, assuming only one user at a time on a device.

requires manual assignment.

I've noted elsewhere that a users'
'attention' and normal usage pattern may be of interest in doing
it more automatically.

> I guess that doing this would address (in the local/home network) what
> Bob Briscoe was getting at in our earlier thread:
>
> "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."

Well, here we go... as mentioned in the conclusion of that thread,
1/d seems the best possible without having per-brain interfaces,
and 1/u seems to require some theoretical work, and in either case,
seems better than 1/f.

I don't have a whole lot of hope for classification. In fact, I'm kind of
upset that the move away from flash means we are seeing more
video streams on port 80, rather than on the macromedia port...

>
>     Justin



-- 
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
FR Tel: 0638645374
http://www.bufferbloat.net



More information about the Cerowrt-devel mailing list