<div dir="ltr">Thanks for this. Looks interesting. Does ABC (love the acronym) try to optimize throughput, latency or some combination, e.g. network power (throughput/delay)?<br><br>Things like roams, seen energy over the last n milliseconds, and "I've lost n TXOP arbitrations over time y" could also have influence on the control feedback loop to TCP.  Not sure how TCP gets any of these stats.<br><br>None of this is end/end though. It's likely just the last/first hop which I think is probably still useful to TCP designers - not sure.<br><br>Bob</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 6, 2021 at 1:39 PM Neal Cardwell <<a href="mailto:ncardwell@google.com">ncardwell@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 6, 2021 at 4:34 PM 'Bob McMahon' via BBR Development <<a href="mailto:bbr-dev@googlegroups.com" target="_blank">bbr-dev@googlegroups.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Curious to the idea of wifi providing the opposite of ECN, i.e. my rate selection algorithm just went from one stream to two stream so TCP speed up your feedback loop decisions with a bias to faster?<br></div></blockquote><div><br></div>That could make sense. That sounds a lot lot like the Accel-Brake Control  work:</div><div class="gmail_quote"><br><a href="https://www.usenix.org/conference/nsdi20/presentation/goyal" target="_blank">https://www.usenix.org/conference/nsdi20/presentation/goyal</a> <br><br></div><div class="gmail_quote">ABC: A Simple Explicit Congestion Controller for Wireless Networks<br><br>Authors:<br>Prateesh Goyal, MIT CSAIL; Anup Agarwal, CMU; Ravi Netravali, UCLA; Mohammad Alizadeh and Hari Balakrishnan, MIT CSAIL<br><br>Abstract:<br>We propose Accel-Brake Control (ABC), a simple and deployable explicit congestion control protocol for network paths with time-varying wireless links. ABC routers mark each packet with an “accelerate” or “brake”, which causes senders to slightly increase or decrease their congestion windows. Routers use this feedback to quickly guide senders towards a desired target rate. ABC requires no changes to header formats or user devices, but achieves better performance than XCP. ABC is also incrementally deployable; it operates correctly when the bottleneck is a non-ABC router, and can coexist with non-ABC traffic sharing the same bottleneck link. We evaluate ABC using a Wi-Fi implementation and trace-driven emulation of cellular links. ABC achieves 30-40% higher throughput than Cubic+Codel for similar delays, and 2.2× lower delays than BBR on a Wi-Fi path. On cellular network paths, ABC achieves 50% higher throughput than Cubic+Codel.</div><div class="gmail_quote"><br></div><div class="gmail_quote">neal</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Bob</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 5, 2021 at 10:20 AM Dave Taht <<a href="mailto:dave.taht@gmail.com" target="_blank">dave.taht@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">eric, I thought I'd forward this to one of the <a href="http://bufferbloat.net" target="_blank">bufferbloat.net</a> lists. Feel free to join. It would also be helpful to duplicate your test scripts here.<div><br></div><div><div>I agree with you, bbr is way too slow here. We see it bloat massively in wifi also. I would like BBR to far more reactive than it is, and also for it to respond to RFC3168 ECN marks.</div><div><br></div></div><div>You said:</div><div><br></div><div><div><b style="color:rgb(255,0,0)">" </b><font color="#000000">In my opinion, in high bw jitter scenario, window based bw undaption method is too slow to converge to the actual bottleneck bw,  when actual bw imcreases, BBR needs at lease 8RTT to catch it, when it decreases, BBR then needs at most 10 RTT to expire the previous bw maximum, anyway it is too slow, causing severe buffer-bloating. "</font></div></div><div><br></div><div>You might find the "flent" tool very useful for getting a more microscopic view as to what is going on. </div><div><br></div><div>A test we would use to get a better picture of what is really going on would be</div><div><br></div><div>flent -H netperf_test_server -x --socket-stats --step-size=.05 -t the_test_conditions --te=cc_algo=bbr --te=upload_streams=1 tcp_nup</div><div><br></div><div>This samples a ton of tcp related stats and lets you plot them with flent-gui, there are 110 other tests in the suite.</div><div><br></div><div>A more complicated invocation can get qdisc stats from the router involved, or iterate over CCs, or run at longer intervals. In general I have found running tests for 5 minutes or longer reveal interesting behaviors.</div><div><br></div><div>





<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">flent -H $S --socket-stats -x --step-size=.05 -t 1-flow-fq_starlink_noecn-${M}-c</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">c=${CC} --te=cpu_stats_hosts=$R --te=netstat_hosts=$R -4 --te=qdisc_stats_hosts=</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">$RS --te=qdisc_stats_interfaces=$RV --te=upload_streams=1 --te=cc_algo=$CC tcp_1</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">up</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><br></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)">pic below</p></div><div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">Eric xu</strong> <span dir="auto"><<a href="mailto:ericbin1224@gmail.com" target="_blank">ericbin1224@gmail.com</a>></span><br>Date: Mon, Jul 5, 2021 at 12:27 AM<br>Subject: Re: [bbr-dev] BBR performance and optimization in cellular wireless network with high delay jitter<br>To: BBR Development <<a href="mailto:bbr-dev@googlegroups.com" target="_blank">bbr-dev@googlegroups.com</a>><br></div><br><br>Hi, Neal, thanks for your answer. I still  have two questions to discuss with you after having read the two links you mentioned above.<div><br></div><div>1, As mentioned in the second link, BBR's throughput on high-jitter links (especially in cellular) usually matches CUBIC,  as  <span dir="ltr">demonstrated by the following figure, </span><br><img alt="截图.PNG" width="384px" height="332.967px" src="cid:41c3bea0-e09d-41aa-8e29-469dcb350a00"><br></div><div>however, what we can infer from the figure is that, the mean throughput(~14Mbps) is far from the available bw that is greater than 20Mbps as showed in the cumulative distrubution figure. Since CUBIC back off frequently in the LTE network with high error rate, but BBR does not acquire much more throughput than CUBIC, the only reason I can imagine is that BBR is highly affected by high delay jitter although cwnd provision is applied. </div><div><br></div><div><b><font color="#ff0000">Is my understanding right? and is there any optimization to further improve thoughput in high bw and delay jitter scenario? </font></b></div><div><b><font color="#ff0000"><br></font></b></div><div><b style="color:rgb(255,0,0)">2,  Is there any method to enhance BBR's adaptive ability to high bw and delay jitter?  </b><font color="#000000">In my opinion, in high bw jitter scenario, window based bw undaption method is too slow to converge to the actual bottleneck bw,  when actual bw imcreases, BBR needs at lease 8RTT to catch it, when it decreases, BBR then needs at most 10 RTT to expire the previous bw maximum, anyway it is too slow, causing severe buffer-bloating.  I</font>n high delay jitter scenario, BBR also will cause bw under utilizaion. <b><font color="#ff0000">So,  what is your latest optimizaion to improve the performance in such a high bw and delay jitter network?</font></b></div><div><b><font color="#ff0000"><br></font></b></div><div><font color="#000000">Thx a lot,</font></div><div><font color="#000000">Eric</font></div><div class="gmail_quote"><div dir="auto" class="gmail_attr">在2021年7月4日星期日 UTC+8 下午9:59:57<Neal Cardwell> 写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Yes, BBR includes mechanisms to deal with this kind of jitter. Please see the March 2019 thread on this topic:</div>  <a href="https://groups.google.com/g/bbr-dev/c/kBZaq98xCC4" rel="nofollow" target="_blank">https://groups.google.com/g/bbr-dev/c/kBZaq98xCC4</a><br><div><br></div><div>Our experience is that BBR's throughput on high-jitter links (cellular, wifi, DOCSIS, datacenter ethernet w/ GRO/LRO) is quite good at this point (usually matches CUBIC), and there are others who have documented this as well, e.g.:</div><div>  <a href="http://web.cs.wpi.edu/~claypool/papers/driving-bbr/" rel="nofollow" target="_blank">http://web.cs.wpi.edu/~claypool/papers/driving-bbr/</a><br></div><div><br></div><div>best,</div><div>neal</div><div><br></div></div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 4, 2021 at 8:53 AM Eric xu <<a rel="nofollow">ericb...@gmail.com</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello, dear friends. I wonder there is any optimization to BBR ,  for the reason of BBR low bandwidth utilization in wireless network with high delay jitter.  In my opinion, 

High delay jitter will cause BBR to underestimate the BDP, thus limit the send rate even if 

<span dir="ltr">pipeline is not full</span>. Right?<div>So,  I wonder, <font color="#ff0000"><b>if there is any optimization to improve bw utilization in wireless network with high delay jitter, even in 5G network? </b></font>Thx a lot.   </div>

<p></p></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

-- <br>
You received this message because you are subscribed to the Google Groups "BBR Development" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a rel="nofollow">bbr-dev+u...@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/bbr-dev/bc675976-45f5-4ef6-b337-e693e4d21c6en%40googlegroups.com?utm_medium=email&utm_source=footer" rel="nofollow" target="_blank">https://groups.google.com/d/msgid/bbr-dev/bc675976-45f5-4ef6-b337-e693e4d21c6en%40googlegroups.com</a>.<br>
</blockquote></div>
</blockquote></div>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups "BBR Development" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:bbr-dev+unsubscribe@googlegroups.com" target="_blank">bbr-dev+unsubscribe@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/bbr-dev/303da319-87dd-46c0-928f-cad7f93835f8n%40googlegroups.com?utm_medium=email&utm_source=footer" target="_blank">https://groups.google.com/d/msgid/bbr-dev/303da319-87dd-46c0-928f-cad7f93835f8n%40googlegroups.com</a>.<br>
</div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div>Latest Podcast: <a href="https://www.linkedin.com/feed/update/urn:li:activity:6791014284936785920/" target="_blank">https://www.linkedin.com/feed/update/urn:li:activity:6791014284936785920/</a><br></div><br>Dave Täht CTO, TekLibre, LLC <br></div></div></div></div></div>
_______________________________________________<br>
Make-wifi-fast mailing list<br>
<a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a></blockquote></div>

<br>
<span style="background-color:rgb(255,255,255)"><font size="2">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.</font></span>

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups "BBR Development" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:bbr-dev+unsubscribe@googlegroups.com" target="_blank">bbr-dev+unsubscribe@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/bbr-dev/CAHb6Lvroqyg22Ax6ChOPYicYTjm_GnFapm8iX_5ae5EbvVEBzQ%40mail.gmail.com?utm_medium=email&utm_source=footer" target="_blank">https://groups.google.com/d/msgid/bbr-dev/CAHb6Lvroqyg22Ax6ChOPYicYTjm_GnFapm8iX_5ae5EbvVEBzQ%40mail.gmail.com</a>.<br>
</blockquote></div></div>
</blockquote></div>

<br>
<span style="background-color:rgb(255,255,255)"><font size="2">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.</font></span>