[Bloat] Fwd: Did *bufferbloat* cause the 2010 flashcrash?

Sebastian Moeller moeller0 at gmx.de
Fri Aug 7 10:43:19 EDT 2015

Hi Steinar,

On Aug 7, 2015, at 16:23 , Steinar H. Gunderson <sgunderson at bigfoot.com> wrote:

> On Fri, Aug 07, 2015 at 02:13:20PM +0000, Livingood, Jason wrote:
>> while customers were using BitTorrent (which led the company down a bad
>> path to try to fix it but that¹s a long story).
> But what _is_ a good path to fix the BitTorrent problem[1]? I still haven't
> seen a real-life practical solution. LEDBAT is negated by fq_codel, DSCP
> markings don't work (they get stripped, and usually were not even set to
> begin with),

	Except for [1] DSCP marking is a really simple solution as for egress from a home network there is no remapping of code points not under your control, so just teach your bit torrent client to behave (aka mark its outgoing packets as CS1) and use sqm-script’s single.qos, which should be close to what you requested...

> switching to IP-level fairness makes life hard for the torrent
> user (not that it seems to even exist in fq_codel;

	fq_codel does not care as far as I know one can specify different hashing schemes (expect I have not tried it myself so that might not work).

> and two-level fq_codel
> doesn't seem to exist either).

	Build one your self ;) as long as you are willing to dedicate two machines for that it should be “simple”, box one does proper shaping and fq_codel by src-ip and box two does what ever you do on your network, just make sure box one sits close to the real bottleneck…

	Actually, one of the more frequent requests on the openwrt forum seems to be bit torrent users who want per-internal-IP fairness, or in other words want to be able to dedicate a box to torrenting without sacrificing all egress bandwidth to the bit-torrent deity ;) I have not yet attempted to set this up. I hope that cake will make this easy:
tc qdisc add dev eth2 root cake bandwidth 50mbit

Usage: ... cake  [ bandwidth RATE | unlimited ] # unlimited line rate is the default
                 [ besteffort | precedence | diffserv8 | diffserv4 ] # diffserv variants including none
                 [ flowblind | srchost | dsthost | hosts | flows ] # hash algorithm on what fields
                 [ atm ] # atm support (untested)
                 (flowblind) gives pure single queue codel aqm behavior, useful for testing the new codel implementation

My guess is that the srchost hash should help a lot with outgoing torrent traffic.

> DPI to single out torrent traffic? I think
> we've sort of tried that. :-)

	All this does is speeding up bit torrents evolution by selecting against easy to spot “markers” in the data...

> [1] For the purposes of the question, the “BitTorrent problem” is when you
> and I are on the same network, and your 200+ BitTorrent upload sessions
> makes it impossible for me to upload my single cat video to YouTube.

	I though part of the boot torrent challenge was the fact that on ingress it can also wreck havoc?

Best Regards

> /* Steinar */
> -- 
> Homepage: http://www.sesse.net/
> _______________________________________________
> Bloat mailing list
> Bloat at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat

More information about the Bloat mailing list