Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: "David P. Reed" <dpreed@deepplum.com>
To: "Bob McMahon" <bob.mcmahon@broadcom.com>
Cc: "Vint Cerf" <vint@google.com>,
	"Steve Crocker" <steve@shinkuro.com>,
	"Valdis Klētnieks" <valdis.kletnieks@vt.edu>,
	starlink@lists.bufferbloat.net,
	Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>,
	"Cake List" <cake@lists.bufferbloat.net>,
	codel <codel@lists.bufferbloat.net>,
	cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>,
	bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] [Starlink]  [Bloat] Little's Law mea culpa, but not invalidating my main point
Date: Sun, 26 Sep 2021 14:24:02 -0400 (EDT)	[thread overview]
Message-ID: <1632680642.869711321@apps.rackspace.com> (raw)
In-Reply-To: <CAHb6Lvp86iw=DQMN8Z+f7yUJu-5pmVUxsM1_1Jw8RJb2XRcMcg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 7668 bytes --]


Pretty good list, thanks for putting this together.
 
The only thing I'd add, and I'm not able to formulate it very elegantly, is this personal insight: One that I would research, because it can be a LOT more useful in the end-to-end control loop than stuff like ECN, L4S, RED, ...
 
Fact: Detecting congestion by allowing a queue to build up is a very lagging indicator of incipient congestion in the forwarding system. The delay added to all paths by that queue buildup slows down the control loop's ability to respond by slowing the sources. It's the control loop delay that creates both instability and continued congestion growth.
Observation: current forwarders forget what they have forwarded as soon as it is transmitted. This loses all the information about incipient congestion and "fairness" among multiple sources. Yet, there is no need to forget recent history at all after the packets have been transmitted.
 
An idea I keep proposing is the idea of remembering the last K seconds of packets, their flow ids (source and destination), the arrival time and departure time, and their channel occupancy on the outbound shared link. Then using this information to reflect incipient congestion information to the flows that need controlling, to be used in their control loops.
 
So far, no one has taken me up on doing the research to try this in the field. Note: the signalling can be simple (sending ECN flags on all flows that transit the queue, even though there is no backlog, yet, when the queue is empty but transient overload seems likely), but the key thing is that we already assume that  recent history of packets is predictive of future overflow.
This can be implemented locally on any routing path that tends to be a bottleneck link. Such as the uplink of a home network. It should work with TCP as is if the signalling causes window reduction (at first, just signal by dropping packets prematurely, but if TCP will handle ECN aggressively - a single ECN mark causing window reduction, then it will help that, too).
 
The insight is that from an "information and control theory" perspective, the packets that have already been forwarded are incredibly valuable for congestion prediction.
 
Please, if possible, if anyone actually works on this and publishes, give me credit for suggesting this.
Just because I've been suggesting it for about 15 years now, and being ignored. It would be a mitzvah.
 
 
On Thursday, September 23, 2021 1:46pm, "Bob McMahon" <bob.mcmahon@broadcom.com> said:



Hi All,
I do appreciate this thread as well. As a test & measurement guy here are my conclusions around network performance. Thanks in advance for any comments.

Congestion can be mitigated the following ways
o) Size queues properly to minimize/negate bloat (easier said than done with tech like WiFi)
o) Use faster links on the service side such that a queues' service rates exceeds the arrival rate, no congestion even in bursts, if possible
o) Drop entries during oversubscribed states (queue processing can't "speed up" like water flow through a constricted pipe, must drop)
o) Identify aggressor flows per congestion if possible
o) Forwarding planes can signal back the the sources "earlier" to minimize queue build ups per a "control loop request" asking sources to pace their writes
o) transport layers use techniques a la BBR
o) Use "home gateways" that support tech like FQ_CODEL
Latency can be mitigated the following ways
o) Mitigate or eliminate congestion, particularly around queueing delays
o) End host apps can use TCP_NOTSENT_LOWAT along with write()/select() to reduce host sends of "better never than late" messages 
o) Move servers closer to the clients per fundamental limit of the speed of light (i.e. propagation delay of energy over the wave guides), a la CDNs
(Except if you're a HFT, separate servers across geography and make sure to have exclusive user rights over the lowest latency links)

Transport control loop(s)
o) Transport layer control loops are non linear systems so network tooling will struggle to emulate "end user experience"
o) 1/2 RTT does not equal OWD used to compute the bandwidth delay product, imbalance and effects need to be measured
o) forwarding planes signaling congestion to sources wasn't designed in TCP originally but the industry trend seems to be to moving towards this per things like L4S
Photons, radio & antenna design
o) Find experts who have experience & knowledge, e.g. many do here
o) Photons don't really have mass nor size, at least per my limited understanding of particle physics and QED though, I must admit, came from reading things on the internet 

Bob


On Mon, Sep 20, 2021 at 7:40 PM Vint Cerf <[ vint@google.com ]( mailto:vint@google.com )> wrote:
see [ https://mediatrust.com/ ]( https://mediatrust.com/ )
v


On Mon, Sep 20, 2021 at 10:28 AM Steve Crocker <[ steve@shinkuro.com ]( mailto:steve@shinkuro.com )> wrote:

Related but slightly different: Attached is a slide some of my colleagues put together a decade ago showing the number of DNS lookups involved in displaying CNN's front page.
Steve


On Mon, Sep 20, 2021 at 8:18 AM Valdis Klētnieks <[ valdis.kletnieks@vt.edu ]( mailto:valdis.kletnieks@vt.edu )> wrote:On Sun, 19 Sep 2021 18:21:56 -0700, Dave Taht said:
 > what actually happens during a web page load,

 I'm pretty sure that nobody actually understands that anymore, in any
 more than handwaving levels.

 I have a nice Chrome extension called IPvFoo that actually tracks the IP
 addresses contacted during the load of the displayed page. I'll let you make
 a guess as to how many unique IP addresses were contacted during a load
 of [ https://www.cnn.com ]( https://www.cnn.com )

 ...


 ...


 ...


 145, at least half of which appeared to be analytics.  And that's only the
 hosts that were contacted by my laptop for HTTP, and doesn't count DNS, or
 load-balancing front ends, or all the back-end boxes.  As I commented over on
 NANOG, we've gotten to a point similar to that of AT&T long distance, where 60%
 of the effort of connecting a long distance phone call was the cost of
 accounting and billing for the call.








 _______________________________________________
 Starlink mailing list
[ Starlink@lists.bufferbloat.net ]( mailto:Starlink@lists.bufferbloat.net )
[ https://lists.bufferbloat.net/listinfo/starlink ]( https://lists.bufferbloat.net/listinfo/starlink )_______________________________________________
 Starlink mailing list
[ Starlink@lists.bufferbloat.net ]( mailto:Starlink@lists.bufferbloat.net )
[ https://lists.bufferbloat.net/listinfo/starlink ]( https://lists.bufferbloat.net/listinfo/starlink )
-- 



Please send any postal/overnight deliveries to:
Vint Cerf
1435 Woodhurst Blvd 
McLean, VA 22102
703-448-0965
until further notice
This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.

[-- Attachment #2: Type: text/html, Size: 11546 bytes --]

  reply	other threads:[~2021-09-26 18:24 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-01  0:12 [Cerowrt-devel] Due Aug 2: Internet Quality workshop CFP for the internet architecture board Dave Taht
2021-07-02  1:16 ` David P. Reed
2021-07-02  4:04   ` [Make-wifi-fast] " Bob McMahon
2021-07-02 16:11     ` [Cerowrt-devel] [Starlink] [Make-wifi-fast] " Dick Roy
2021-07-02 17:07   ` [Cerowrt-devel] " Dave Taht
2021-07-02 23:28     ` [Make-wifi-fast] " Bob McMahon
2021-07-06 13:46       ` [Cerowrt-devel] [Starlink] [Make-wifi-fast] " Ben Greear
2021-07-06 20:43         ` [Starlink] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-07-06 21:24           ` [Cerowrt-devel] [Starlink] [Make-wifi-fast] " Ben Greear
2021-07-06 22:05             ` [Starlink] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-07-07 13:34               ` [Cerowrt-devel] [Starlink] [Make-wifi-fast] " Ben Greear
2021-07-07 19:19                 ` [Starlink] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-07-08 19:38         ` [Cerowrt-devel] [Starlink] [Make-wifi-fast] " David P. Reed
2021-07-08 22:51           ` [Starlink] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-07-09  3:08           ` [Cerowrt-devel] [Starlink] [Make-wifi-fast] " Leonard Kleinrock
2021-07-09 10:05             ` [Cerowrt-devel] [Make-wifi-fast] [Starlink] " Luca Muscariello
2021-07-09 19:31               ` [Cerowrt-devel] Little's Law mea culpa, but not invalidating my main point David P. Reed
2021-07-09 20:24                 ` Bob McMahon
2021-07-09 22:57                 ` [Bloat] " Holland, Jake
2021-07-09 23:37                   ` Toke Høiland-Jørgensen
2021-07-09 23:01                 ` [Cerowrt-devel] " Leonard Kleinrock
2021-07-09 23:56                   ` [Cerowrt-devel] [Bloat] " Jonathan Morton
2021-07-17 23:56                     ` [Cerowrt-devel] [Make-wifi-fast] " Aaron Wood
2021-07-10 19:51                   ` Bob McMahon
2021-07-10 23:24                     ` Bob McMahon
2021-07-12 13:46                 ` [Bloat] " Livingood, Jason
2021-07-12 17:40                   ` [Cerowrt-devel] " David P. Reed
2021-07-12 18:21                     ` Bob McMahon
2021-07-12 18:38                       ` Bob McMahon
2021-07-12 19:07                       ` [Cerowrt-devel] " Ben Greear
2021-07-12 20:04                         ` Bob McMahon
2021-07-12 20:32                           ` [Cerowrt-devel] " Ben Greear
2021-07-12 20:36                             ` [Cerowrt-devel] [Cake] " David Lang
2021-07-12 20:50                               ` Bob McMahon
2021-07-12 20:42                             ` Bob McMahon
2021-07-13  7:14                             ` [Cerowrt-devel] " Amr Rizk
2021-07-13 17:07                               ` Bob McMahon
2021-07-13 17:49                                 ` [Cerowrt-devel] " David P. Reed
2021-07-14 18:37                                   ` Bob McMahon
2021-07-15  1:27                                     ` Holland, Jake
2021-07-16  0:34                                       ` Bob McMahon
     [not found]                                   ` <A5E35F34-A4D5-45B1-8E2D-E2F6DE988A1E@cs.ucla.edu>
2021-07-22 16:30                                     ` Bob McMahon
2021-07-13 17:22                               ` Bob McMahon
2021-07-17 23:29                             ` [Cerowrt-devel] " Aaron Wood
2021-07-18 19:06                               ` Bob McMahon
2021-07-12 21:54                           ` [Cerowrt-devel] [Make-wifi-fast] " Jonathan Morton
2021-09-20  1:21                 ` [Cerowrt-devel] " Dave Taht
2021-09-20  4:00                   ` Valdis Klētnieks
2021-09-20  4:09                     ` David Lang
2021-09-20 21:30                       ` David P. Reed
2021-09-20 21:44                         ` [Cerowrt-devel] [Cake] " David P. Reed
2021-09-20 12:57                     ` [Cerowrt-devel] [Starlink] " Steve Crocker
2021-09-20 16:36                       ` [Cerowrt-devel] [Cake] " John Sager
2021-09-21  2:40                       ` [Starlink] [Cerowrt-devel] " Vint Cerf
2021-09-23 17:46                         ` Bob McMahon
2021-09-26 18:24                           ` David P. Reed [this message]
2021-10-22  0:51                             ` TCP_NOTSENT_LOWAT applied to e2e TCP msg latency Bob McMahon
2021-10-26  3:11                               ` [Make-wifi-fast] " Stuart Cheshire
2021-10-26  4:24                                 ` [Cerowrt-devel] [Bloat] " Eric Dumazet
2021-10-26 18:45                                   ` Christoph Paasch
2021-10-26 23:23                                     ` Bob McMahon
2021-10-26 23:38                                       ` Christoph Paasch
2021-10-27  1:12                                         ` [Cerowrt-devel] " Eric Dumazet
2021-10-27  3:45                                           ` Bob McMahon
2021-10-27  5:40                                             ` [Cerowrt-devel] " Eric Dumazet
2021-10-28 16:04                                             ` Christoph Paasch
2021-10-29 21:16                                               ` Bob McMahon
2021-10-26  5:32                                 ` Bob McMahon
2021-10-26 10:04                                   ` [Cerowrt-devel] [Starlink] " Bjørn Ivar Teigen
2021-10-26 17:23                                     ` Bob McMahon
2021-10-27 14:29                                       ` [Cerowrt-devel] [Make-wifi-fast] [Starlink] " Sebastian Moeller
2021-08-02 22:59               ` [Make-wifi-fast] [Starlink] [Cerowrt-devel] Due Aug 2: Internet Quality workshop CFP for the internet architecture board Bob McMahon
2021-08-02 23:16                 ` [Cerowrt-devel] [Cake] [Make-wifi-fast] [Starlink] " David Lang
2021-08-02 23:50                   ` [Cake] [Make-wifi-fast] [Starlink] [Cerowrt-devel] " Bob McMahon
2021-08-03  3:06                     ` [Cerowrt-devel] [Cake] [Make-wifi-fast] [Starlink] " David Lang
2021-08-02 23:55                   ` Ben Greear
2021-08-03  0:01                     ` [Cake] [Make-wifi-fast] [Starlink] [Cerowrt-devel] " Bob McMahon
2021-08-03  3:12                       ` [Cerowrt-devel] [Cake] [Make-wifi-fast] [Starlink] " David Lang
2021-08-03  3:23                         ` [Cake] [Make-wifi-fast] [Starlink] [Cerowrt-devel] " Bob McMahon
2021-08-03  4:30                           ` [Cerowrt-devel] [Cake] [Make-wifi-fast] [Starlink] " David Lang
2021-08-03  4:38                             ` [Cake] [Make-wifi-fast] [Starlink] [Cerowrt-devel] " Bob McMahon
2021-08-03  4:44                               ` [Cerowrt-devel] [Cake] [Make-wifi-fast] [Starlink] " David Lang
2021-08-03 16:01                                 ` [Cake] [Make-wifi-fast] [Starlink] [Cerowrt-devel] " Bob McMahon
2021-08-08  4:35                             ` [Cerowrt-devel] [Starlink] [Cake] [Make-wifi-fast] " Dick Roy
2021-08-08  5:04                               ` [Starlink] [Cake] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-08-08  5:04                           ` [Cerowrt-devel] [Starlink] [Cake] [Make-wifi-fast] " Dick Roy
2021-08-08  5:07                             ` [Starlink] [Cake] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-08-10 14:10                           ` [Cerowrt-devel] [Starlink] [Cake] [Make-wifi-fast] " Rodney W. Grimes
2021-08-10 16:13                             ` Dick Roy
2021-08-10 17:06                               ` [Starlink] [Cake] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-08-10 17:56                                 ` [Cerowrt-devel] [Starlink] [Cake] [Make-wifi-fast] " Dick Roy
2021-08-10 18:11                                 ` Dick Roy
2021-08-10 19:21                                   ` [Starlink] [Cake] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-08-10 20:16                                     ` [Cerowrt-devel] Anhyone have a spare couple a hundred million ... Elon may need to start a go-fund-me page! Dick Roy
2021-08-10 20:33                                       ` [Cerowrt-devel] [Starlink] " Jeremy Austin
2021-08-10 20:44                                         ` David Lang
2021-08-10 22:54                                           ` Bob McMahon
2021-09-02 17:36                                   ` [Cerowrt-devel] [Cake] [Starlink] [Make-wifi-fast] Due Aug 2: Internet Quality workshop CFP for the internet architecture board David P. Reed
2021-09-03 14:35                                     ` [Bloat] [Cake] [Starlink] [Make-wifi-fast] [Cerowrt-devel] " Matt Mathis
2021-09-03 18:33                                       ` [Cerowrt-devel] [Bloat] [Cake] [Starlink] [Make-wifi-fast] " David P. Reed
2021-08-03  0:37                   ` [Cerowrt-devel] [Cake] [Make-wifi-fast] [Starlink] " Leonard Kleinrock
2021-08-03  1:24                     ` [Cake] [Make-wifi-fast] [Starlink] [Cerowrt-devel] " Bob McMahon
2021-08-08  5:07                       ` [Cerowrt-devel] [Starlink] [Cake] [Make-wifi-fast] " Dick Roy
2021-08-08  5:15                         ` [Starlink] [Cake] [Make-wifi-fast] [Cerowrt-devel] " Bob McMahon
2021-08-08 18:36                           ` [Cerowrt-devel] [Make-wifi-fast] [Starlink] [Cake] " Aaron Wood
2021-08-08 18:48                             ` [Cerowrt-devel] [Bloat] " Jonathan Morton
2021-08-08 19:58                               ` [Bloat] [Make-wifi-fast] [Starlink] [Cake] [Cerowrt-devel] " Bob McMahon
2021-08-08  4:20                     ` [Cerowrt-devel] [Starlink] [Cake] [Make-wifi-fast] " Dick Roy

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/cerowrt-devel.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=1632680642.869711321@apps.rackspace.com \
    --to=dpreed@deepplum.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=bob.mcmahon@broadcom.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=codel@lists.bufferbloat.net \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=starlink@lists.bufferbloat.net \
    --cc=steve@shinkuro.com \
    --cc=valdis.kletnieks@vt.edu \
    --cc=vint@google.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