From: Jim Gettys <jg@freedesktop.org>
To: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Goodput fraction w/ AQM vs bufferbloat
Date: Thu, 05 May 2011 12:30:31 -0400 [thread overview]
Message-ID: <4DC2D0A7.30609@freedesktop.org> (raw)
In-Reply-To: <20110505091046.3c73e067@nehalam>
On 05/05/2011 12:10 PM, Stephen Hemminger wrote:
> On Thu, 05 May 2011 12:01:22 -0400
> Jim Gettys<jg@freedesktop.org> wrote:
>
>> On 04/30/2011 03:18 PM, Richard Scheffenegger wrote:
>>> I'm curious, has anyone done some simulations to check if the
>>> following qualitative statement holds true, and if, what the
>>> quantitative effect is:
>>>
>>> With bufferbloat, the TCP congestion control reaction is unduely
>>> delayed. When it finally happens, the tcp stream is likely facing a
>>> "burst loss" event - multiple consecutive packets get dropped. Worse
>>> yet, the sender with the lowest RTT across the bottleneck will likely
>>> start to retransmit while the (tail-drop) queue is still overflowing.
>>>
>>> And a lost retransmission means a major setback in bandwidth (except
>>> for Linux with bulk transfers and SACK enabled), as the standard (RFC
>>> documented) behaviour asks for a RTO (1sec nominally, 200-500 ms
>>> typically) to recover such a lost retransmission...
>>>
>>> The second part (more important as an incentive to the ISPs actually),
>>> how does the fraction of goodput vs. throughput change, when AQM
>>> schemes are deployed, and TCP CC reacts in a timely manner? Small ISPs
>>> have to pay for their upstream volume, regardless if that is "real"
>>> work (goodput) or unneccessary retransmissions.
>>>
>>> When I was at a small cable ISP in switzerland last week, surely
>>> enough bufferbloat was readily observable (17ms -> 220ms after 30 sec
>>> of a bulk transfer), but at first they had the "not our problem" view,
>>> until I started discussing burst loss / retransmissions / goodput vs
>>> throughput - with the latest point being a real commercial incentive
>>> to them. (They promised to check if AQM would be available in the CPE
>>> / CMTS, and put latency bounds in their tenders going forward).
>>>
>> I wish I had a good answer to your very good questions. Simulation
>> would be interesting though real daa is more convincing.
>>
>> I haven't looked in detail at all that many traces to try to get a feel
>> for how much bandwidth waste there actually is, and more formal studies
>> like Netalyzr, SamKnows, or the Bismark project would be needed to
>> quantify the loss on the network as a whole.
>>
>> I did spend some time last fall with the traces I've taken. In those,
>> I've typically been seeing 1-3% packet loss in the main TCP transfers.
>> On the wireless trace I took, I saw 9% loss, but whether that is
>> bufferbloat induced loss or not, I don't know (the data is out there for
>> those who might want to dig). And as you note, the losses are
>> concentrated in bursts (probably due to the details of Cubic, so I'm told).
>>
>> I've had anecdotal reports (and some first hand experience) with much
>> higher loss rates, for example from Nick Weaver at ICSI; but I believe
>> in playing things conservatively with any numbers I quote and I've not
>> gotten consistent results when I've tried, so I just report what's in
>> the packet captures I did take.
>>
>> A phenomena that could be occurring is that during congestion avoidance
>> (until TCP loses its cookies entirely and probes for a higher operating
>> point) that TCP is carefully timing it's packets to keep the buffers
>> almost exactly full, so that competing flows (in my case, simple pings)
>> are likely to arrive just when there is no buffer space to accept them
>> and therefore you see higher losses on them than you would on the single
>> flow I've been tracing and getting loss statistics from.
>>
>> People who want to look into this further would be a great help.
>> - Jim
> I would not put a lot of trust in measuring loss with pings.
> I heard that some ISP's do different processing on ICMP's used
> for ping packets. They either prioritize them high to provide
> artificially good response (better marketing numbers); or
> prioritize them low since they aren't useful traffic.
> There are also filters that only allow N ICMP requests per second
> which means repeated probes will be dropped.
I didn't use ping for my loss measurements above, but derived them from
the traces themselves (using tstat: see:
http://tstat.tlc.polito.it/index.shtml).
Your explanation is part of why I don't use what I've seen when using
ping for loss rates (though I have yet to actually see the behaviour of
messing with priorities or preferentially dropping that many have claimed.
Ping does often get processed on network gear slow paths, and it is
believable that on loaded routers or broad band head end under load the
pings might get dropped, classified or otherwise messed with. So I made
sure to avoid that in the loss numbers I quote on the traces I looked at.
It's also why I worked with Folkert Van Heusden last summer and fall to
ensure that there was a TCP based ping program available (you can use
options to httping http://www.vanheusden.com/httping/ to get an HTTP
based ping using HTTP persistent connections), with one packet out and
exactly one back, so it should be prioritised exactly as web traffic.
So far, it and conventional ICMP ping have always returned effectively
identical tests in the paths I've probed.
How much of the anecdotal information of ISP's doing this or that with
ICMP I'd believe is therefore not clear. But at least with httpping we
can figure out what extent it may be true, and certainly care is in
order on any measurements.
Best regards,
- jim
- Jim
next prev parent reply other threads:[~2011-05-05 16:26 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-26 17:05 [Bloat] Network computing article on bloat Dave Taht
2011-04-26 18:13 ` Dave Hart
2011-04-26 18:17 ` Dave Taht
2011-04-26 18:28 ` dave greenfield
2011-04-26 18:32 ` Wesley Eddy
2011-04-26 19:37 ` Dave Taht
2011-04-26 20:21 ` Wesley Eddy
2011-04-26 20:30 ` Constantine Dovrolis
2011-04-26 21:16 ` Dave Taht
2011-04-27 17:10 ` Bill Sommerfeld
2011-04-27 17:40 ` Wesley Eddy
2011-04-27 7:43 ` Jonathan Morton
2011-04-30 15:56 ` Henrique de Moraes Holschuh
2011-04-30 19:18 ` [Bloat] Goodput fraction w/ AQM vs bufferbloat Richard Scheffenegger
2011-05-05 16:01 ` Jim Gettys
2011-05-05 16:10 ` Stephen Hemminger
2011-05-05 16:30 ` Jim Gettys [this message]
2011-05-05 16:49 ` [Bloat] Burst Loss Neil Davies
2011-05-05 18:34 ` Jim Gettys
2011-05-06 11:40 ` Sam Stickland
2011-05-06 11:53 ` Neil Davies
2011-05-08 12:42 ` Richard Scheffenegger
2011-05-09 18:06 ` Rick Jones
2011-05-11 8:53 ` Richard Scheffenegger
2011-05-11 9:53 ` Eric Dumazet
2011-05-12 14:16 ` [Bloat] Publications Richard Scheffenegger
2011-05-12 16:31 ` [Bloat] Burst Loss Fred Baker
2011-05-12 16:41 ` Rick Jones
2011-05-12 17:11 ` Fred Baker
2011-05-13 5:00 ` Kevin Gross
2011-05-13 14:35 ` Rick Jones
2011-05-13 14:54 ` Dave Taht
2011-05-13 20:03 ` [Bloat] Jumbo frames and LAN buffers (was: RE: Burst Loss) Kevin Gross
2011-05-14 20:48 ` Fred Baker
2011-05-15 18:28 ` Jonathan Morton
2011-05-15 20:49 ` Fred Baker
2011-05-16 0:31 ` Jonathan Morton
2011-05-16 7:51 ` Richard Scheffenegger
2011-05-16 9:49 ` Fred Baker
2011-05-16 11:23 ` [Bloat] Jumbo frames and LAN buffers Jim Gettys
2011-05-16 13:15 ` Kevin Gross
2011-05-16 13:22 ` Jim Gettys
2011-05-16 13:42 ` Kevin Gross
2011-05-16 15:23 ` Jim Gettys
[not found] ` <-854731558634984958@unknownmsgid>
2011-05-16 13:45 ` Dave Taht
2011-05-16 18:36 ` Richard Scheffenegger
2011-05-16 18:11 ` [Bloat] Jumbo frames and LAN buffers (was: RE: Burst Loss) Richard Scheffenegger
2011-05-17 7:49 ` BeckW
2011-05-17 14:16 ` Dave Taht
[not found] ` <-4629065256951087821@unknownmsgid>
2011-05-13 20:21 ` Dave Taht
2011-05-13 22:36 ` Kevin Gross
2011-05-13 22:08 ` [Bloat] Burst Loss david
2011-05-13 19:32 ` Denton Gentry
2011-05-13 20:47 ` Rick Jones
2011-05-06 4:18 ` [Bloat] Goodput fraction w/ AQM vs bufferbloat Fred Baker
2011-05-06 15:14 ` richard
2011-05-06 21:56 ` Fred Baker
2011-05-06 22:10 ` Stephen Hemminger
2011-05-07 16:39 ` Jonathan Morton
2011-05-08 0:15 ` Stephen Hemminger
2011-05-08 3:04 ` Constantine Dovrolis
2011-05-08 13:00 ` Richard Scheffenegger
2011-05-08 12:53 ` Richard Scheffenegger
2011-05-08 12:34 ` Richard Scheffenegger
2011-05-09 3:07 ` Fred Baker
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=4DC2D0A7.30609@freedesktop.org \
--to=jg@freedesktop.org \
--cc=bloat@lists.bufferbloat.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