From: Jonathan Morton <chromatix99@gmail.com>
To: Naeem Khademi <naeem.khademi@gmail.com>
Cc: bloat Mainlinglist <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] What is a good burst? -- AQM evaluation guidelines
Date: Sun, 15 Dec 2013 14:26:00 +0200 [thread overview]
Message-ID: <33D65DCB-B4CC-4D2C-8ED9-E3685AF7D820@gmail.com> (raw)
In-Reply-To: <CAEjQQ5XPiqL9ywD3zXGKvUb_FoWmgJ3Zq_g_b8ONfHieHaRWzg@mail.gmail.com>
On 15 Dec, 2013, at 7:35 am, Naeem Khademi wrote:
> the question remains: "what is a good burst (size) that AQMs should allow?"
The ideal size of a TCP congestion window - which limits the size of a burst on a TCP flow - is equal to the natural bandwidth-delay product for the flow. That involves the available bandwidth and the natural RTT delay - ie. without added queueing delay.
Codel operates on this basis, making an assumption about typical RTT delays, and permitting queue residency to temporarily rise to that value without initiating marking operations. A larger burst would be evidence of a congestion window that is too large, or an overall sending rate that exceeds the bandwidth at the link the codel queue controls. A persistent queue is always taken as evidence of the latter.
In a datacentre or on a LAN, natural RTT delays are much shorter (microseconds) than on the general Internet (milliseconds) - conversely, available bandwidth is typically much higher (Gbps vs. Mbps). The two factors approximately cancel out, so the bandwidth-delay product remains roughly the same in typical cases - although, of course, atypical cases such as satellite links (seconds of latency) and major backbones (extreme aggregate bandwidth and Internet-scale delays) also exist. However, RTT is more consistent between installations than bandwidth is (factor of ten difference in typical range of ADSL link speeds, factor of a hundred in WiFi), so Codel uses a time basis rather than a byte-count basis for regulation, and is by default tuned for typical overland Internet latencies.
Fq_codel, as with other FQ-type qdiscs, tends to improve pacing when multiple flows are present, by interleaving packets from different queued bursts. Pacing is the general absence of bursts, and can be implemented at source by a TCP sender that spreads packets within a congestion window through an interval of time corresponding to the measured RTT. AFAIK, very few TCP implementations actually do this, probably due to a desire to avoid interrupt overheads (the CPU would have to be woken up by a timer for each packet). It strikes me as feasible for NIC hardware to take on some of this burden.
- Jonathan Morton
next prev parent reply other threads:[~2013-12-15 12:26 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-15 5:35 Naeem Khademi
2013-12-15 12:26 ` Jonathan Morton [this message]
2013-12-15 15:16 ` Scharf, Michael (Michael)
[not found] ` <655C07320163294895BBADA28372AF5D14C5DF@FR712WXCHMBA15.zeu. alcatel-lucent.com>
2013-12-15 20:56 ` Bob Briscoe
2013-12-15 18:56 ` [Bloat] [aqm] " Curtis Villamizar
2014-01-02 6:31 ` Fred Baker (fred)
2014-01-03 18:17 ` [Bloat] [e2e] " dpreed
2014-01-30 19:27 ` [Bloat] [aqm] [e2e] " Dave Taht
2013-12-15 21:42 ` [Bloat] [aqm] " Fred Baker (fred)
2013-12-15 22:57 ` [Bloat] [e2e] " Bob Briscoe
2013-12-16 7:34 ` Fred Baker (fred)
2013-12-16 13:47 ` Naeem Khademi
2013-12-16 14:05 ` Naeem Khademi
2013-12-16 17:30 ` Fred Baker (fred)
2013-12-16 14:28 ` Jonathan Morton
2013-12-16 14:50 ` Steinar H. Gunderson
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=33D65DCB-B4CC-4D2C-8ED9-E3685AF7D820@gmail.com \
--to=chromatix99@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=naeem.khademi@gmail.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