From: Maarten de Vries <maarten@de-vri.es>
To: bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] Solving bufferbloat with TCP using packet delay
Date: Tue, 26 Mar 2013 14:10:15 +0100 [thread overview]
Message-ID: <CAPWpf+yfS+XKpeazFdUmnVB=vXyTiAvCOAeOjzFa0auykziJ6A@mail.gmail.com> (raw)
In-Reply-To: <CAJq5cE1xeMcf=gRa_v4nQE9nL-QontjGkYkOkXSxz2bWaBwrsw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4604 bytes --]
I won't deny that there are problems with delay based congestion control,
but at least some of the same problems also apply to AQM.
In the presence of greedy UDP flows, AQM would highly bias those flows.
Sure, the more packets a flow sends, the more it will have it's packets
dropped. But only TCP will lower its congestion window and the greedy UDP
flow will happily continue filling the buffer. The effect is that only the
UDP flow will use most of the available bandwidth. Yes, the queue will be
shorter so the TCP flow will have a lower delay, but it will also have a
much lower throughput.
Of course, the same applies for delay based congestion control and the
greedy flow will still use most of the bandwidth and in addition the delay
will be higher. The point remains that neither AQM nor delay based
congestion control can provide a fair solution when there are greedy or
stupid flows present. Unless of course there are multiple queues for the
different types of flows, but yeah, where's that pink pony? Let's make it a
unicorn while we're at it.
And yes, there are much more endpoints than switches/routers. But I imagine
they are also much more homogeneous. I could be wrong about this since I
don't know too much about network equipment used by ISPs. Either way, it
seems to me that most endpoints are running either Windows, Linux (or
Android), a BSD variant or something made by Apple. And I would imagine
most embedded systems (the remaining endpoints that don't run a consumer
OS) aren't connected directly to the internet and won't be able to wreak
much havoc. Consumer operating systems are regularly updated as it is, so
sneaking in a new TCP variant should be *relatively* easy. Again, I might
be wrong, but these are just my thoughts.
I short, I'm not saying there are no problems, but I'm saying it might be
easy to ignore the idea as ineffective too quickly.
Kind regards,
Maarten de Vries
> On Thu, 21 Mar 2013 07:21:52 +1100
>> grenville armitage <garmitage@swin.edu.au> wrote:
>>
>> >
>> >
>> > On 03/21/2013 02:36, Steffan Norberhuis wrote:
>> > > Hello Everyone,
>> > >
>> > > For a project for the Delft Technical University myself and 3
>> > > students are writing a review paper on the buffer bloat problem and
>> > > its possible solutions.
>> >
>> > My colleagues have been dabbling with delay-based CC algorithms,
>> > with FreeBSD implementations (http://caia.swin.edu.au/urp/newtcp/)
>> > if that's of any interest.
>> >
>> > Some thoughts:
>> >
>> > - When delay-based TCPs share bottlenecks with loss-based TCPs,
>> > the delay-based TCPs are punished. Hard. They back-off,
>> > as queuing delay builds, while the loss-based flow(s)
>> > blissfully continue to push the queue to full (drop).
>> > Everyone sharing the bottleneck sees latency fluctuations,
>> > bounded by the bottleneck queue's effective 'length' (set
>> > by physical RAM limits or operator-configurable threshold).
>> >
>> > - The previous point suggests perhaps a hybrid TCP which uses
>> > delay-based control, but switches (briefly) to loss-based
>> > control if it detects the bottleneck queue is being
>> > hammered by other, loss-based TCP flows. Challenging
>> > questions arise as to what triggers switching between
>> > delay-based and loss-based modes.
>> >
>> > - Reducing a buffer's length requires meddling with the
>> > bottleneck(s) (new firmware or new devices). Deploying
>> > delay-based TCPs requires meddling with endpoints (OS
>> > upgrade/patch). Many more of the latter than the former.
>> >
>> > - But yes, in self-contained networks where the end hosts can all
>> > be told to run a delay-based CC algorithm, delay-based CC
>> > can mitigate the impact of bloated buffers in your bottleneck
>> > network devices. Such homogeneous environments do exist, but
>> > the Internet is quite different.
>> >
>> > - Alternatively, if one could classify delay-based CC flows into one
>> > queue and loss-based CC flows into another queue at each
>> > bottleneck, the first point above might not be such a problem.
>> > I also want a pink pony ;) (Of course, once we're considering
>> > tweak the bottlenecks with classifiers and multiple queues,
>> > might as continue the surgery and reduce the bloated buffers too.)
>>
>> _______________________________________________
>> Bloat mailing list
>> Bloat@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/bloa<https://lists.bufferbloat.net/listinfo/bloat>
>
>
>
[-- Attachment #2: Type: text/html, Size: 5625 bytes --]
next prev parent reply other threads:[~2013-03-26 13:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-20 15:36 Steffan Norberhuis
2013-03-20 15:55 ` Dave Taht
2013-03-20 16:12 ` Oliver Hohlfeld
2013-03-20 16:35 ` Michael Richardson
2013-03-20 20:21 ` grenville armitage
2013-03-20 23:16 ` Stephen Hemminger
2013-03-21 1:01 ` Jonathan Morton
2013-03-26 13:10 ` Maarten de Vries [this message]
2013-03-26 13:24 ` Jonathan Morton
2013-04-04 0:10 ` Simon Barber
2013-03-21 8:26 ` Hagen Paul Pfeifer
2013-04-03 18:16 ` Juliusz Chroboczek
2013-04-03 18:23 ` Hagen Paul Pfeifer
2013-04-03 19:35 ` Juliusz Chroboczek
2013-04-03 18:14 ` Juliusz Chroboczek
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='CAPWpf+yfS+XKpeazFdUmnVB=vXyTiAvCOAeOjzFa0auykziJ6A@mail.gmail.com' \
--to=maarten@de-vri.es \
--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