<html><head></head><body>Both you and Dave Taft misunderstood my idea about standing queues not being the right way to encode congestion in switches. I do not say there would be no buffers for jitter. Nor do I call for admission control. I just suggest that instead of deriving congestion from backlog measures (requiring that there be backlogs created and sustained) one can derive congestion measures without sustainng a backlog...<br>
<br>
The result is ballistic flows, if you will. Analogous to ballistic electrons in materials.<br><br><div class="gmail_quote">On May 15, 2014, David Lang <david@lang.hm> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k10mail">We are talking about different things then.<br /><br />The "fast lane" I'm talking about is where ISPs want companies to pay them for <br />bandwidth (in addition to the companies paying their own ISP for bandwidth and <br />in addition to their users paying them for bandwidth)<br /><br />As for your contention that an ideal Internet will have a buffer size of <1 <br />packet. That will work, but that will not fully utilize the network, because <br />there will be jitter in the senders and some packet generation will be delayed, <br />leaving the network with nothing to send in that timeslot.<br /><br />If the network is not fully utilized, then fq_codel isn't needed, just send <br />packets as they arrive. It's only as a particular link approaches full <br />utilization that queues will build up and deciding what to do becomes <br />significant (and fq_codel and similar will matter)<br /><br />As for your thought of having an end-to-end feedback loop,
the
problem with that <br />is that it will only work if the path between them is stable and not interfered <br />with by other flows. In the Internet as we have it today, neither are true. The <br />packets for your connection may travel over different paths, and congestion <br />happens on a link-by-link basis with the combined packets of many connections, <br />not end-to-end based on a single connection.<br /><br />David Lang<br /><br />On Thu, 15 May 2014, dpreed@reed.com wrote:<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">I don't think that at all. I suspect you know that. But if I confused you, let <br />me assure you that my view of the proper operating point of the Internet as a <br />whole is that the expected buffer queue on any switch anywhere in the Internet <br />is < 1 datagram.<br /><br />fq_codel is a good start, but it still requires letting buffer queueing <br />increase. Ho
wever,
mathematically, one need not have the queues build up to <br />sustain the control loop that fq_codel creates.<br /><br />I conjecture that one can create an equally effective congestion control <br />mechanism as fq_codel without any standing queues being allowed to build up. <br />(Someone should try the exercise of trying to prove that an optimal end-to-end <br />feedback control system requires queueing delay to be imposed. I've tried and <br />it's led me to the conjecture that one can always replace a standing queue <br />with a finite memory of past activities - and if one does, the lack of a <br />standing queue means that the algorithm is better than any that end up with a <br />standing queue).<br /><br />fq_codel could be redesigned into a queue-free fq_codel.<br /><br /><br />On Thursday, May 15, 2014 7:46pm, "David Lang" <david@lang.hm> said:<br /><br /><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7
fa8;
padding-left: 1ex;">If you think "fast lanes" will actually increase performance for any traffic,<br />you are dreaming.<br /><br />the people looking for "fast lanes" are't trying to get traffic through any<br />faster, they are looking to charge more for the traffic they are already<br />passing.<br /><br />David Lang<br /><br />On Thu, 15 May 2014, dpreed@reed.com wrote:<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">Well done. I'm optimistic for deployment everywhere, except CMTS's, the LTE<br /></blockquote>and HSPA+ access networks, and all corporate firewall and intranet gear.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">The solution du jour is to leave bufferbloat in place, while using the real<br /></blockquote>fads: prioritization (diffserv once we have the "fast lanes" fully legal) and<br />"software
defined
networking" appliances that use DPI for packet routing and<br />traffic management.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">Fixing buffer bloat allows the edge- and enterprise- networks to be more<br /></blockquote>efficient, whereas not fixing it lets the edge networks move users up to more and<br />more expensive "plans" due to frustration and to sell much more gear into<br />Enterprises because they are easy marks for complex gadgets.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">But maybe a few engineers who operate and design gear for such networks will<br /></blockquote>overcome the incredible business biases against fixing this.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">That's why all the efforts you guys have put
forth
are immensely worth it. I<br /></blockquote>think this is one of the best innovations in recent years (Bram Cohen's original<br />BitTorrent is another, for fully decentralizing data delivery for the very first<br />time in a brilliant way.) I will certainly push everywhere I can to see fq_codel<br />deployed.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;">If there were a prize for brilliant projects, this would be top on my list.<br /><br /><br /><br />On Wednesday, May 14, 2014 9:25pm, "Dave Taht" <dave.taht@gmail.com><br /></blockquote>said:<br /><br /><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;">On Wed, May 14, 2014 at 3:32 PM, Kathleen Nichols<br
/><</blockquote></blockquote>nichols@pollere.com><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;">wrote:<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">Thanks, Rich.<br /><br />And to show you what an amazing bit of work that first fq_codel was,<br /></blockquote></blockquote></blockquote>I have<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">on my calendar that I first "exposed" CoDel to a smal
l group
in a<br />meeting room<br />and on the phone at ISC on April 24.</blockquote><br />And we had all sorts of trouble with the phone, (eric didn't hear<br />much) and we then spent hours and hours afterwards discussing wifi<br />instead of codel... it was too much to take in...<br /><br />me, I'd started jumping up and down in excitement about 20 minutes<br />into kathies preso...<br /><br />May 3rd, 2012 was the last 24 hr coding stint I think I'll ever have.<br /><br /><a href="https://lists.bufferbloat.net/pipermail/codel/2012-May/000023.html">https://lists.bufferbloat.net/pipermail/codel/2012-May/000023.html</a><br /><br />Ahh, the good ole days, when bufferbloat was first solved and we all<br />thought the internet would speed up overnight, and we were going to be<br />rock stars, invited to all the best parties, acquire fame and fortune,<br />and be awarded medals and given awards. Re-reading all this brought<br />back memories.... (heck, there's still a couple good ideas
in
that<br />thread left unimplemented)<br /><br /><a href="https://lists.bufferbloat.net/pipermail/codel/2012-May/thread.html">https://lists.bufferbloat.net/pipermail/codel/2012-May/thread.html</a><br /><br />It looks by may 5th we were getting in shape, and then there were a<br />few other issues along the way with the control law and so on... and<br />eric rewrote the whole thing and made it oodles faster and then as<br />best as I recall came up with fq_codel on saturday may 5th(?) -<br /><br />Ah, I haven't had so much fun in in years. My life since then seems<br />like an endless string of meetings, politics, and bugfixing.<br /><br />The code went from sim/paper, to code, to testing, to mainline linux<br />in another week. I wish more research went like that!<br /><br />commit 76e3cc126bb223013a6b9a0e2a51238d1ef2e409<br />Author: Eric Dumazet <edumazet@google.com><br />Date: Thu May 10 07:51:25 2012 +0000<br /><br />codel: Controlled Delay AQM<br /><br />Now, as I
recall
the story, eric came up with fq_codel on a saturday<br />afternoon, so I guess that was may 5th - cinco de mayo!<br /><br />And that too, landed in mainline...<br /><br />commit 4b549a2ef4bef9965d97cbd992ba67930cd3e0fe<br />Author: Eric Dumazet <edumazet@google.com><br />Date: Fri May 11 09:30:50 2012 +0000<br /><br />fq_codel: Fair Queue Codel AQM<br /><br />let's not forget tom herbert & BQL<br /><br />commit 75957ba36c05b979701e9ec64b37819adc12f830<br />Author: Tom Herbert <therbert@google.com><br />Date: Mon Nov 28 16:32:35 2011 +0000<br /><br />dql: Dynamic queue limits<br /><br />Implementation of dynamic queue limits (dql). This is a libary<br /></blockquote></blockquote>which<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;">allows a queue limit to be dynamica
lly
managed. The goal of dql is<br />to set the queue limit, number of objects to the queue, to be<br /></blockquote></blockquote>minimized<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;">without allowing the queue to be starved.<br /><br /><br /><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">It was really amazing to me to watch<br />something Van and I had been discussing (okay, arguing) about<br /></blockquote></blockquote></blockquote>privately for<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote
class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">6 months and I'd been tinkering with be turned into real code on<br /></blockquote></blockquote></blockquote>real<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">networks.<br />Jim Gettys is an incredible (and constructive) nagger, Eric Dumazet<br /></blockquote></blockquote></blockquote>and<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="
margin:
0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">amazing<br />coder, and the entire open source community a really nifty group of<br /></blockquote></blockquote></blockquote>folks.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;">Maybe someday we will actually update the first article with some of<br /></blockquote></blockquote></blockquote>the<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex
;
border-left: 1px solid #e9b96e; padding-left: 1ex;">stuff<br />we got into the last internet draft....<br /><br />be the change,<br />Kathie<br /><br />On 5/14/14 2:01 PM, Rich Brown wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">Folks,<br /><br />I just noticed that the announcement for the first testable<br />implementation of fq_codel was two days ago today - 14 May<br /></blockquote></blockquote></blockquote></blockquote>2012.<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">B
uild
3.3.6-2 was the first to include working fq_codel.</blockquote><br /><br /></blockquote></blockquote></blockquote><a href="https://lists.bufferbloat.net/pipermail/cerowrt-devel/2012-May/000233.html">https://lists.bufferbloat.net/pipermail/cerowrt-devel/2012-May/000233.html</a><br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">Two years later, we see fq_codel being adopted lots of places.<br /></blockquote></blockquote></blockquote></blockquote>As<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; paddin
g-left:
1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">more and more people/organizations come to understand the<br /></blockquote></blockquote></blockquote></blockquote>problem,<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">and how straightforward the solutio
n can
be, we're beginning to<br /></blockquote></blockquote></blockquote></blockquote>win<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">the battle to have a good Internet experience everywhere.<br /><br />Thanks to Dave, Eric, Kathie, Van, and all the members of this<br /></blockquote></blockquote></blockquote></blockquote>list<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left:
1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">for their perseverance, testing, comments, and patience.<br />Congratulations!<br /><br />Best regards,<br /><br />Rich<hr />Bloat<br /></blockquote></blockquote></blockquote></blockquote>mailing<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #e9b96e; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ccc; padding-left: 1ex;">list Bloat@lists.bufferbloat.net<br /><a
href="https://lists.bufferbloat.net/listinfo/bloat">https://lists.bufferbloat.net/listinfo/bloat</a></blockquote><br /><br /><hr /><br />Bloat mailing list<br />Bloat@lists.bufferbloat.net<br /><a href="https://lists.bufferbloat.net/listinfo/bloat">https://lists.bufferbloat.net/listinfo/bloat</a></blockquote><br /><br /><br />--<br />Dave Täht<br /><br />NSFW:</blockquote><br /></blockquote><a href="https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article">https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article</a><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"><hr /><br />Cerowrt-devel mailing list<br />Cerowrt-devel@lists.bufferbloat.net<br /><a
href="https://lists.bufferbloat.net/listinfo/cerowrt-devel">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><br /><hr /><br /></blockquote></blockquote>Bloat mailing list<br />Bloat@lists.bufferbloat.net<br /><a href="https://lists.bufferbloat.net/listinfo/bloat">https://lists.bufferbloat.net/listinfo/bloat</a><br /></blockquote></blockquote></pre></blockquote></div><br/>-- Sent from my Android device with <b><a href="https://play.google.com/store/apps/details?id=com.onegravity.k10.pro2">K-@ Mail</a></b>. Please excuse my brevity.</body></html>