Discussion of explicit congestion notification's impact on the Internet
 help / color / mirror / Atom feed
From: "Holland, Jake" <jholland@akamai.com>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: Luca Muscariello <muscariello@ieee.org>,
	"ecn-sane@lists.bufferbloat.net" <ecn-sane@lists.bufferbloat.net>,
	"tsvwg@ietf.org" <tsvwg@ietf.org>
Subject: Re: [Ecn-sane] [tsvwg] Comments on L4S drafts
Date: Wed, 10 Jul 2019 17:03:23 +0000	[thread overview]
Message-ID: <9F2F4CBA-1236-4C76-90C9-F258570BC6B1@akamai.com> (raw)
In-Reply-To: <59eb30b5-5e19-ea53-2ca8-78c4e3b23439@bobbriscoe.net>

Hi Bob,

<JH>Responses inline...</JH>

From: Bob Briscoe <ietf@bobbriscoe.net>
Date: 2019-07-04 at 06:45

Nonetheless, when an unresponsive flow(s) is consuming some capacity, and a responsive flow(s) takes the total over the available capacity, then both are responsible in proportion to their contribution to the queue, 'cos the unresponsive flow didn't respond (it didn't even try to).

This is why it's OK to have a small unresponsive flow, but it becomes less and less OK to have a larger and larger unresponsive flow. 

<JH>
Right, this is a big part of the point I'm trying to make here.
Some of the video systems are sending a substantial-sized flow which
is not responsive at the transport layer.

However, that doesn't mean it's entirely unresponsive.  These often
do respond in practice at the application layer, but by observing
some quality of experience threshold from the video rendering.

Part of this quality of experience signal comes from the delay
fluctuation caused by the queueing delay when the link is overloaded,
but running the video through a low-latency queue would remove that
fluctuation, and thus change it from something that would cut over
to a lower bit-rate or remove the video into something that wouldn't.

At the same time, the app benefits from removing that fluctuation--
it gets to deliver a better video quality successfully.  When its
owners test it comparatively, they'll find they have an incentive
to add the marking, and their customers will have an incentive to
adopt that solution over solutions that don't, leading to an arms
race that progressively pushes out more of the responsive traffic.

My claim is that the lack of admission control is what makes this
arms race possible, by removing an important source of backpressure
on apps like this relative to today's internet (or one that does a
stricter fair-share-based degradation at bottlenecks).
</JH>

There's no bandwidth benefit. 
There's only latency benefit, and then the only benefits are:
• the low latency behaviour of yourself and other flows behaving like you
• and, critically, isolation from those flows not behaving well like you. 
Neither give an incentive to mismark - you get nothing if you don't behave. And there's a disincentive for 'Classic' TCP flows to mismark, 'cos they badly underutilize without a queue.

<JH>
It's typical for Non-responsive flows to get benefits from lower
latency.

I actually do (with caveats) agree that flows that don't respond
to transient congestion should be fine, as long as they use no more
than their fair share of the capacity.  However, by removing the
backpressure without adding something to prevent them from using
more than their fair share, it sets up perverse incentives that
push the ecosystem toward congestion collapse.

The Queue protection mechanism you mentioned might be sufficient
for this, but I'm having a hard time understanding the claim that
it's not required.

It seems to me in practice it will need to be used whenever there's
a chance that non-responsive flows can consume more than their
share, which chance we can reasonably expect will grow naturally
if L4S deployment grows.
</JH>

1/ The q-prot mechanism certainly has the disadvantage that it has to access L4 headers. But it is much more lightweight than FQ.

...

That's probably not understandable. Let me write it up properly - with some explanatory pictures and examples.

<JH>
I thought it was a reasonable summary and thanks for the
quick explanation (not to discourage writing it up properly,
which would also be good).

In short, it sounds to me like if we end up agreeing that Q
protection is required in L4S with dualq (a point currently
disputed, acked), and if the lfq draft holds up to scrutiny
(also a point to be determined), then it means:

The per-bucket complexity overhead comparison for the 2 proposed
architectures (L4S vs. SCE-based) would be 1 int per hash bucket
for dualq, vs. 2 ints + 1 bit per hash bucket for lfq.  And if so,
these overhead comparisons at the bottleneck queues can be taken
as a roughly fair comparison to weigh against other considerations.

Does that sound approximately correct?

Best regards,
Jake
</JH>



  reply	other threads:[~2019-07-10 17:04 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-05  0:01 [Ecn-sane] " Holland, Jake
2019-06-07 18:07 ` Bob Briscoe
2019-06-14 17:39   ` Holland, Jake
2019-06-19 14:11     ` Bob Briscoe
2019-07-10 13:55       ` Holland, Jake
2019-06-14 20:10   ` [Ecn-sane] [tsvwg] " Luca Muscariello
2019-06-14 21:44     ` Dave Taht
2019-06-15 20:26       ` [Ecn-sane] [tsvwg] CoIt'smments " David P. Reed
2019-06-19  1:15     ` [Ecn-sane] [tsvwg] Comments " Bob Briscoe
2019-06-19  1:33       ` Dave Taht
2019-06-19  4:24       ` Holland, Jake
2019-06-19 13:02         ` Luca Muscariello
2019-07-04 11:54           ` Bob Briscoe
2019-07-04 12:24             ` Jonathan Morton
2019-07-04 13:43               ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-04 14:03                 ` Jonathan Morton
2019-07-04 17:54                   ` Bob Briscoe
2019-07-05  8:26                     ` Jonathan Morton
2019-07-05  6:46                   ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-05  8:51                     ` Jonathan Morton
2019-07-08 10:26                       ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-08 20:55                         ` Holland, Jake
2019-07-10  0:10                           ` Jonathan Morton
2019-07-10  9:00                           ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-10 13:14                             ` Dave Taht
2019-07-10 17:32                               ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-17 22:40                             ` Sebastian Moeller
2019-07-19  9:06                               ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-19 15:37                                 ` Dave Taht
2019-07-19 18:33                                   ` Wesley Eddy
2019-07-19 20:03                                     ` Dave Taht
2019-07-19 22:09                                       ` Wesley Eddy
2019-07-19 23:42                                         ` Dave Taht
2019-07-24 16:21                                           ` Dave Taht
2019-07-19 20:06                                     ` Black, David
2019-07-19 20:44                                       ` Jonathan Morton
2019-07-19 22:03                                         ` Sebastian Moeller
2019-07-20 21:02                                           ` Dave Taht
2019-07-21 11:53                                           ` Bob Briscoe
2019-07-21 15:30                                             ` [Ecn-sane] Hackathon tests Dave Taht
2019-07-21 15:33                                             ` [Ecn-sane] [tsvwg] Comments on L4S drafts Sebastian Moeller
2019-07-21 16:00                                             ` Jonathan Morton
2019-07-21 16:12                                               ` Sebastian Moeller
2019-07-22 18:15                                               ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-22 18:33                                                 ` Dave Taht
2019-07-22 19:48                                                 ` Pete Heist
2019-07-25 16:14                                                   ` De Schepper, Koen (Nokia - BE/Antwerp)
2019-07-26 13:10                                                     ` Pete Heist
2019-07-26 15:05                                                       ` [Ecn-sane] The state of l4s, bbrv2, sce? Dave Taht
2019-07-26 15:32                                                         ` Dave Taht
2019-07-26 15:37                                                         ` Neal Cardwell
2019-07-26 15:45                                                           ` Dave Taht
2019-07-23 10:33                                                 ` [Ecn-sane] [tsvwg] Comments on L4S drafts Sebastian Moeller
2019-07-21 12:30                                       ` Bob Briscoe
2019-07-21 16:08                                         ` Sebastian Moeller
2019-07-21 19:14                                           ` Bob Briscoe
2019-07-21 20:48                                             ` Sebastian Moeller
2019-07-25 20:51                                               ` Bob Briscoe
2019-07-25 21:17                                                 ` Bob Briscoe
2019-07-25 22:00                                                   ` Sebastian Moeller
2019-07-26 10:20                                                     ` [Ecn-sane] [tsvwg] Compatibility with singlw queue RFC3168 AQMs Sebastian Moeller
2019-07-26 14:10                                                       ` Black, David
2019-07-26 16:06                                                         ` Sebastian Moeller
2019-07-26 19:58                                                           ` Black, David
2019-07-26 21:34                                                             ` Sebastian Moeller
2019-07-26 16:15                                                         ` Holland, Jake
2019-07-26 20:07                                                           ` Black, David
2019-07-26 23:40                                                             ` Jonathan Morton
2019-08-07  8:41                                                               ` Mikael Abrahamsson
2019-08-07 10:06                                                                 ` Mikael Abrahamsson
2019-08-07 11:57                                                                   ` Jeremy Harris
2019-08-07 12:03                                                                     ` Mikael Abrahamsson
2019-08-07 12:14                                                                       ` Sebastian Moeller
2019-08-07 12:25                                                                         ` Mikael Abrahamsson
2019-08-07 12:34                                                                       ` Jeremy Harris
2019-08-07 12:49                                                                         ` Mikael Abrahamsson
     [not found]                                         ` <5D34803D.50501@erg.abdn.ac.uk>
2019-07-21 16:43                                           ` [Ecn-sane] [tsvwg] Comments on L4S drafts Black, David
2019-07-21 12:30                                       ` Scharf, Michael
2019-07-19 21:49                                     ` Sebastian Moeller
2019-07-22 16:28                                   ` Bless, Roland (TM)
2019-07-19 17:59                                 ` Sebastian Moeller
2019-07-05  9:48             ` Luca Muscariello
2019-07-04 13:45         ` Bob Briscoe
2019-07-10 17:03           ` Holland, Jake [this message]
     [not found] <HE1PR07MB4425603844DED8D36AC21B67C2110@HE1PR07MB4425.eurprd07.prod.outlook.com>
2019-06-14 18:27 ` Holland, Jake
     [not found]   ` <HE1PR07MB4425E0997EE8ADCAE2D4C564C2E80@HE1PR07MB4425.eurprd07.prod.outlook.com>
2019-06-19 12:59     ` Bob Briscoe

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/ecn-sane.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9F2F4CBA-1236-4C76-90C9-F258570BC6B1@akamai.com \
    --to=jholland@akamai.com \
    --cc=ecn-sane@lists.bufferbloat.net \
    --cc=ietf@bobbriscoe.net \
    --cc=muscariello@ieee.org \
    --cc=tsvwg@ietf.org \
    /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