当前位置:网站首页>BBR and queuing
BBR and queuing
2022-07-24 10:50:00 【dog250】
BBR Why can't it be cashed no queuing Commitment ?
First, clarify a fact :
- Many stream mixing parts of different algorithms are used in modern high bandwidth Heterogeneous Networks , Single stream behavior can hardly change the statistical characteristics of multi stream multiplexing bandwidth .
BBR Suddenly collected small bandwidth, it 10 rounds Of max-filter The wheel is big enough , It's easy to cross this pit ,BBR The shock absorption effect for concave surface is very good . but BBR There is a problem , If you suddenly collect large bandwidth, It remembers , Even a noise , Also maintain 10 rounds, During that period BBR Will continue overestimate bandwidth, So as to continue queuing.
Multi algorithm mixed part , Scenario of multi stream multiplexing bandwidth , Suddenly collected big bandwidth The probability is very high , At least with the sudden acquisition of small bandwidth The probability is the same , For example, an elephant stream suddenly exits , This stream will sell a lot of bandwidth , But these bandwidths will be instantly flooded by multiple streams , A sudden short burst will consume a lot in an instant buffer equally .
No matter concave noise , Or convex noise , Should be smoothed .BBR Have the ability to smooth concave noise , But there is no ability to smooth convex noise . therefore BBR In the scenario of multi algorithm and multi stream statistical multiplexing , Will continue to be counterintuitive queuing, and BBR paper The description is inconsistent .
stay BBR Single stream or BBR Multi stream scenario ,paper Description of the BBR Dynamics can ensure the final convergence point no queuing, But multi algorithm and multi stream scenarios , BBR Instead of crossing, you will remember convex noise ,overestimate bandwidth Will stack .
Such as noise A By max-filter remember ,BBR Will be with overestimate Of A As a benchmark pacing rate, If noise is collected again A + d, be A + d Will become the new benchmark pacing rate, At least in the 10 rounds Effective within , And so on , therefore BBR Of overestimate It is stackable . It's very helpless .
What do I do ? Two clear points :
- With acquisition bandwidth The average shift of fingers as max-filter The input of , Or use max-filter Output of and current acquisition bandwidth Do shift average . Finger shift averaging smoothes noise ,probe Although the bandwidth is slow , But steady .
- ProbeBW State, , No probe Bandwidth to , Even if it's bigger , Do not enter max-filter, Only up probe Get extra bandwidth before doing maxbw to update . External noise input can easily disrupt the internal state machine decision .
See again ,BBR Also a paper Algorithm , It just happens to perform better in most actual scenarios CUBIC good , It's good . All for BBR Second optimization of , All of them are paper Algorithm , No one can escape Why We Don’t Know How To Simulate The Internet The curse of .
Don't expect to adjust a flow cwnd perhaps pacing rate, It can affect the congestion state of the whole link , This is not the stream you adjust to compete with another stream , But hundreds of streams are playing games , The overall behavior of all flows can only produce a statistical distribution effect .
Of course , And don't make assumptions about any behavior of any flow that implements any algorithm , Whether the behavior is reasonable , Still unreasonable , Is expected , Or unexpected . All strategies should be based on statistical characteristics , Not the assumption of the algorithm .
The current network bandwidth is several orders of magnitude higher than that of more than a decade ago and earlier , The understanding of congestion control needs to be changed as follows :
- It is difficult for a single stream to fill the bandwidth , Most traffic is app-limited or rwnd-limited, No longer cwnd-limited.
- Delay jitter is hardly caused by single stream , The adjustment of single stream congestion control strategy has little impact on the average distribution of the overall statistical data .
- The benefits of aggressively sending bandwidth runs are getting smaller .
- High bandwidth may be bufferbloat The high delay and bad bandwidth produced by the run , It seems that inflation can't get money , Who started more people , Get more money , But it's also costly .
Zhejiang Wenzhou leather shoes wet , It's not fat when it's raining .
边栏推荐
- 二叉树基础知识概览
- Machine learning quiz (11) verification code recognition test - deep learning experiment using QT and tensorflow2
- JS function call download file link
- Cookie sessionstorage localstorage differences
- Nirvana rebirth! Byte Daniel recommends a large distributed manual, and the Phoenix architecture makes you become a God in fire
- Binlog and iptables prevent nmap scanning, xtrabackup full + incremental backup, and the relationship between redlog and binlog
- Binlog and iptables prevent nmap scanning, xtrabackup full + incremental backup, and the relationship between redlog and binlog
- [dish of learning notes dog learning C] detailed operator
- 数据可视化-《白蛇2:青蛇劫起》(1)
- 《nlp入门+实战:第二章:pytorch的入门使用 》
猜你喜欢

Zero basic learning canoe panel (8) -- hex/text editor

Sentinel flow control quick start

简单使用 MySQL 索引

MySQL - 索引的隐藏和删除
![[FPGA]: use of MicroBlaze](/img/f4/5114bf4bde10adaa22c7441350575c.png)
[FPGA]: use of MicroBlaze

Call bind apply simple summary

NLP introduction + practice: Chapter 2: introduction to pytorch

PC Museum (2) 1972 hp-9830a

零基础学习CANoe Panel(7)—— 开关/显示控件(Input/Output Box )

Array element removal problem
随机推荐
Golang Li Kou leetcode 494. goals and
Sentinel three flow control modes
The method modified by private can be accessed through reflection. What is the meaning of private?
零基础学习CANoe Panel(8)—— 数据/文本编辑控件(Hex/Text Editor )
每日三题 7.22
Five best WordPress advertising plug-ins
1184. 公交站间的距离 : 简单模拟题
Arduino + AD9833 波形发生器
MySQL - 删除数据库表中的数据
零基础学习CANoe Panel(6)—— 开关/显示控件(Switch/Indicator)
零基础学习CANoe Panel(3)—— 静态控件(Static Text , Group Box ,Picture Box)
IEPE vibration sensor synchronous signal acquisition card /icp synchronous data network acquisition module
I admire a Google boss very much, and he left..
《nlp入门+实战:第二章:pytorch的入门使用 》
零基础学习CANoe Panel(7)—— 文件选择(PathDiaglog)
划分数据2
[interview: Basics 02: bubble sort]
[micro service] eureka+ribbon realizes registration center and load balancing
零基础学习CANoe Panel(9)—— 组合框(ComboBox)
Zero basic learning canoe panel (3) -- static text, group box, picture box