From: Justin McCann <jneilm@gmail.com>
To: esr@thyrsus.com
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] First draft of complete "Bufferbloat And You" enclosed.
Date: Tue, 8 Feb 2011 23:24:28 -0500 [thread overview]
Message-ID: <AANLkTinuZ1CGSE4G4MZytR7dW7EV=WQcpK-Viq3bQBq0@mail.gmail.com> (raw)
In-Reply-To: <20110208181811.GD7744@thyrsus.com>
On Tue, Feb 8, 2011 at 1:18 PM, Eric Raymond <esr@thyrsus.com> wrote:
>...
> The underlying image in my just-so stories about roads and parking lots
> is that packet flow coming in smooth on the upstream side of a buffwer
> gets turned into a buffer fill, followed by a burst of packets as it
> overflows, followed by more data coming into the buffer, followed by
> overflow...repeat.
I think this image isn't quite right for wired networks, but happens a
lot in wireless networks.
>...
> I don't understand "ack clocking". Alas, my grasp of networking becomes
> sketchy below the level of socket APIs. I know what's in a TCP packet,
> roughly, but have no precise feel for what happens with bits on the wire.
The first figure in the paper Bill Sommerfeld linked to is the best
explanation; here's another decent picture of it:
http://sd.wareonearth.com/woe/Briefings/tcptune/sld038.htm
I can explain in more detail, but I figure it will be less precise
than what's in the paper. in the analogy, the parking lot has a
metered-rate exit--- cars coming in from ten different entrances at
different rates can *never* exit faster than the fixed outgoing rate.
They can exit slower than the metered rate, but not faster, so any
"clumping" has to be caused by something other than the size of the
parking lot (at least at this link).
Considering Richard's email, I think the VJ paper assumes that the
scheduling in the OS and hardware are not bursty. That is, that the OS
doesn't send clumps of packets to the interface hardware to transmit,
so the hardware buffer doesn't oscillate between full and empty. If
the OS *does* send in bursts due to interrupt latency, scheduling, bus
contention, or a weird application, then you have a different nasty
problem. That sort of clumpy/flighty/bursty behavior is problematic in
general, but I think bufferbloat is only an indirect cause (glad to be
corrected here).
For example, if you're trying to transmit on a wireless link, you may
have to wait a while before you can use it (noise, contention,
scheduling). If you have a buffer full of packets, you'll jam them out
at a much higher rate than you were doing just moments ago. That
really screws with ACK clocking/pacing, and leads to wild swings in
what TCP sends out--- slides 48 and 49 from that link
(http://sd.wareonearth.com/woe/Briefings/tcptune/sld048.htm) are
examples of what we don't want.
Justin
[1] This skips all sorts of details about varying packet sizes and so
on, but you get the idea.
next prev parent reply other threads:[~2011-02-09 4:24 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-05 13:23 Eric Raymond
2011-02-05 13:42 ` Jim Gettys
2011-02-05 15:12 ` Dave Täht
2011-02-05 15:46 ` Dave Täht
2011-02-06 13:37 ` Eric Raymond
2011-02-05 17:56 ` richard
2011-02-05 19:48 ` richard
2011-02-05 22:12 ` Dave Täht
2011-02-06 1:29 ` richard
2011-02-06 2:35 ` Dave Täht
2011-02-06 2:50 ` richard
2011-02-08 15:17 ` Justin McCann
2011-02-08 18:18 ` Eric Raymond
2011-02-08 18:31 ` richard
2011-02-08 18:50 ` Bill Sommerfeld
2011-02-09 15:50 ` Eric Raymond
2011-02-08 20:10 ` Sean Conner
2011-02-09 4:24 ` Justin McCann [this message]
2011-02-10 14:55 ` Jim Gettys
2011-02-10 17:50 ` Dave Täht
2011-02-08 19:43 ` Juliusz Chroboczek
2011-02-08 19:52 ` richard
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='AANLkTinuZ1CGSE4G4MZytR7dW7EV=WQcpK-Viq3bQBq0@mail.gmail.com' \
--to=jneilm@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=esr@thyrsus.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