From: Jonathan Morton <chromatix99@gmail.com>
To: jb <justin@dslr.net>
Cc: bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] RE : DSLReports Speed Test has latency measurement built-in
Date: Wed, 22 Apr 2015 16:08:59 +0300 [thread overview]
Message-ID: <DE67D67A-EC7E-45AD-B4D9-ED31C5AFBEB3@gmail.com> (raw)
In-Reply-To: <CAH3Ss94RxC9u1=3Akm+9oZ=0ahUzFLV+QKCZdskCL_GDEjsbhQ@mail.gmail.com>
> On 22 Apr, 2015, at 15:02, jb <justin@dslr.net> wrote:
>
> ...data is needed to shrink the window to a new setting, instead of slamming it shut by setsockopt
I believe that is RFC-compliant behaviour; one is not supposed to renege on an advertised TCP receive window. So Linux holds the rwin pointer in place until the window has shrunk to the new setting.
> By the way, is there a selectable congestion control algorithm available that is sensitive to an RTT that increases dramatically?
Vegas and LEDBAT do this explicitly; Vegas is old, and LEDBAT isn’t yet upstream but can be built against an existing kernel. Some other TCPs incorporate RTT into their control law (eg. Westwood+, Illinois and Microsoft’s CompoundTCP), but won’t actually stop growing the congestion window based on that; Westwood+ uses RTT and bandwidth to determine what congestion window size to set *after* receiving a conventional congestion signal, while Illinois uses increasing RTT as a signal to *slow* the increase of cwnd, thus spending more time *near* the BDP.
Both Vegas and LEDBAT, however, compete very unfavourably with conventional senders (for Vegas, there’s a contemporary paper showing this against Reno) sharing the same link, which is why they aren’t widely deployed. LEDBAT is however used as part of uTP (ie. BitTorrent’s UDP protocol) specifically for its “background traffic” properties.
Westwood+ does compete fairly with conventional TCPs and works well with AQM, since it avoids the sawtooth of under-utilisation that Reno shows, but it has a tendency to underestimate the cwnd on exiting the slow-start phase. On extreme LFNs, this can result in an extremely long time to converge on the correct BDP.
Illinois is also potentially interesting, because it does make an effort to avoid filling buffers quite as quickly as most. By contrast, CUBIC sets its inflection point at the cwnd where the previous congestion signal was received.
CompoundTCP is described roughly as using a cwnd that is the sum of the results of running Reno and Vegas. So there is a region of operation where the Reno part is increasing its cwnd and Vegas is decreasing it at the same time, resulting in a roughly constant overall cwnd in the vicinity of the BDP. I don’t know offhand how well it works in practice.
The fact remains, though, that most servers use conventional TCPs, usually CUBIC (if Linux based) or Compound (if Microsoft).
One interesting theory is that it’s possible to detect whether FQ is in use on a link, by observing whether Vegas competes on equal terms with a conventional TCP or not.
- Jonathan Morton
next prev parent reply other threads:[~2015-04-22 13:09 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-19 5:26 [Bloat] " jb
2015-04-19 7:36 ` David Lang
2015-04-19 7:48 ` David Lang
2015-04-19 9:33 ` jb
2015-04-19 10:45 ` David Lang
2015-04-19 8:28 ` Alex Burr
2015-04-19 10:20 ` Sebastian Moeller
2015-04-19 10:46 ` Jonathan Morton
2015-04-19 16:30 ` Sebastian Moeller
2015-04-19 17:41 ` Jonathan Morton
2015-04-19 19:40 ` Sebastian Moeller
2015-04-19 20:53 ` Jonathan Morton
2015-04-21 2:56 ` Simon Barber
2015-04-21 4:15 ` jb
2015-04-21 4:47 ` David Lang
2015-04-21 7:35 ` jb
2015-04-21 9:14 ` Steinar H. Gunderson
2015-04-21 14:20 ` David Lang
2015-04-21 14:25 ` David Lang
2015-04-21 14:28 ` David Lang
2015-04-21 22:13 ` jb
2015-04-21 22:39 ` Aaron Wood
2015-04-21 23:17 ` jb
2015-04-22 2:14 ` Simon Barber
2015-04-22 2:56 ` jb
2015-04-22 14:32 ` Simon Barber
2015-04-22 17:35 ` David Lang
2015-04-23 1:37 ` Simon Barber
2015-04-24 16:54 ` David Lang
2015-04-24 17:00 ` Rick Jones
2015-04-21 9:37 ` Jonathan Morton
2015-04-21 10:35 ` jb
2015-04-22 4:04 ` Steinar H. Gunderson
2015-04-22 4:28 ` Eric Dumazet
2015-04-22 8:51 ` [Bloat] RE : " luca.muscariello
2015-04-22 12:02 ` jb
2015-04-22 13:08 ` Jonathan Morton [this message]
[not found] ` <14ce17a7810.27f7.e972a4f4d859b00521b2b659602cb2f9@superduper.net>
2015-04-22 14:15 ` Simon Barber
2015-04-22 13:50 ` [Bloat] " Eric Dumazet
2015-04-22 14:09 ` Steinar H. Gunderson
2015-04-22 15:26 ` [Bloat] RE : " luca.muscariello
2015-04-22 15:44 ` [Bloat] " Eric Dumazet
2015-04-22 16:35 ` MUSCARIELLO Luca IMT/OLN
2015-04-22 17:16 ` Eric Dumazet
2015-04-22 17:24 ` Steinar H. Gunderson
2015-04-22 17:28 ` MUSCARIELLO Luca IMT/OLN
2015-04-22 17:45 ` MUSCARIELLO Luca IMT/OLN
2015-04-23 5:27 ` MUSCARIELLO Luca IMT/OLN
2015-04-23 6:48 ` Eric Dumazet
[not found] ` <CAH3Ss96VwE_fWNMOMOY4AgaEnVFtCP3rPDHSudOcHxckSDNMqQ@mail.gmail.com>
2015-04-23 10:08 ` jb
2015-04-24 8:18 ` Sebastian Moeller
2015-04-24 8:29 ` Toke Høiland-Jørgensen
2015-04-24 8:55 ` Sebastian Moeller
2015-04-24 9:02 ` Toke Høiland-Jørgensen
2015-04-24 13:32 ` jb
2015-04-24 13:58 ` Toke Høiland-Jørgensen
2015-04-24 16:51 ` David Lang
2015-04-25 3:15 ` Simon Barber
2015-04-25 4:04 ` Dave Taht
2015-04-25 4:26 ` Simon Barber
2015-04-25 6:03 ` Sebastian Moeller
2015-04-27 16:39 ` Dave Taht
2015-04-28 7:18 ` Sebastian Moeller
2015-04-28 8:01 ` David Lang
2015-04-28 8:19 ` Toke Høiland-Jørgensen
2015-04-28 15:42 ` David Lang
2015-04-28 8:38 ` Sebastian Moeller
2015-04-28 12:09 ` Rich Brown
2015-04-28 15:26 ` David Lang
2015-04-28 15:39 ` David Lang
2015-04-28 11:04 ` Mikael Abrahamsson
2015-04-28 11:49 ` Sebastian Moeller
2015-04-28 12:24 ` Mikael Abrahamsson
2015-04-28 13:44 ` Sebastian Moeller
2015-04-28 19:09 ` Rick Jones
2015-04-28 14:06 ` Dave Taht
2015-04-28 14:02 ` Dave Taht
2015-05-06 5:08 ` Simon Barber
2015-05-06 8:50 ` Sebastian Moeller
2015-05-06 15:30 ` Jim Gettys
2015-05-06 18:03 ` Sebastian Moeller
2015-05-06 20:25 ` Jonathan Morton
2015-05-06 20:43 ` Toke Høiland-Jørgensen
2015-05-07 7:33 ` Sebastian Moeller
2015-05-07 4:29 ` Mikael Abrahamsson
2015-05-07 7:08 ` jb
2015-05-07 7:18 ` Jonathan Morton
2015-05-07 7:24 ` Mikael Abrahamsson
2015-05-07 7:40 ` Sebastian Moeller
2015-05-07 9:16 ` Mikael Abrahamsson
2015-05-07 10:44 ` jb
2015-05-07 11:36 ` Sebastian Moeller
2015-05-07 11:44 ` Mikael Abrahamsson
2015-05-07 13:10 ` Jim Gettys
2015-05-07 13:18 ` Mikael Abrahamsson
2015-05-07 13:14 ` jb
2015-05-07 13:26 ` Neil Davies
2015-05-07 14:45 ` Simon Barber
2015-05-07 22:27 ` Dave Taht
2015-05-07 22:45 ` Dave Taht
2015-05-07 23:09 ` Dave Taht
2015-05-08 2:05 ` jb
2015-05-08 4:16 ` David Lang
2015-05-08 3:54 ` Eric Dumazet
2015-05-08 4:20 ` Dave Taht
2015-05-08 13:20 ` [Bloat] DSLReports Jitter/PDV test Rich Brown
2015-05-08 14:22 ` jb
2015-05-07 7:37 ` [Bloat] DSLReports Speed Test has latency measurement built-in Sebastian Moeller
2015-05-07 7:19 ` Mikael Abrahamsson
2015-05-07 6:19 ` Sebastian Moeller
2015-04-25 3:23 ` Simon Barber
2015-04-24 15:20 ` Bill Ver Steeg (versteb)
2015-04-25 2:24 ` Simon Barber
2015-04-23 10:17 ` renaud sallantin
2015-04-23 14:10 ` Eric Dumazet
2015-04-23 14:38 ` renaud sallantin
2015-04-23 15:52 ` Jonathan Morton
2015-04-23 16:00 ` Simon Barber
2015-04-23 13:17 ` MUSCARIELLO Luca IMT/OLN
2015-04-22 18:22 ` Eric Dumazet
2015-04-22 18:39 ` [Bloat] Pacing --- was " MUSCARIELLO Luca IMT/OLN
2015-04-22 19:05 ` Jonathan Morton
2015-04-22 15:59 ` [Bloat] RE : " Steinar H. Gunderson
2015-04-22 16:16 ` Eric Dumazet
2015-04-22 16:19 ` Dave Taht
2015-04-22 17:15 ` Rick Jones
2015-04-19 12:14 ` [Bloat] " Toke Høiland-Jørgensen
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=DE67D67A-EC7E-45AD-B4D9-ED31C5AFBEB3@gmail.com \
--to=chromatix99@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=justin@dslr.net \
/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