AIMD response function的一般推导
Posted dog250
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AIMD response function的一般推导相关的知识,希望对你有一定的参考价值。
之前我通过Reno算法推导过近似的AIMD response function:
https://blog.csdn.net/dog250/article/details/119816289
但是不具备普遍性,今天早上在推导MPTCP的coupled cc的时候,觉得那篇论文1里关于稳定状态的守恒律说的不是很严谨,就想不失一般性地推导一个通用的。还是离不开微积分。正好本周的任务之一就是给小小普及微积分,我决定从 盯着变化 开始。
从一般表达式求导,几乎很多事情都可以从此开始。
顺便写这么一篇。参考经典2。
在丢包率为 p p p的路径上,任意时间 t t t,设cwnd为 w w w,AI系数为 α \\alpha α,MD系数为 β \\beta β,RTT为 R R R,那么吞吐率 T T T为:
T ( t ) = w R T(t)=\\dfrac{w}{R} T(t)=Rw
求导,就可以得到吞吐率的变化情况:
d T ( t ) d t = 1 R d w d t \\dfrac{dT(t)}{dt}=\\dfrac{1}{R}\\dfrac{dw}{dt} dtdT(t)=R1dtdw
其中, d w dw dw可以通过AIMD行为来表示出来,即AI获得的 w w w增量与MD带来的 w w w损失之差:
AI rate
=
α
w
=\\dfrac{\\alpha}{w}
=wα
MD rate
=
β
w
=\\beta w
=βw
d w = ( α w ) ( 1 − p ) − ( β w ) p dw=(\\dfrac{\\alpha}{w})(1-p)-(\\beta w)p dw=(wα)(1−p)−(βw)p
另一方面,TCP数据的发送是靠ACK自时钟驱动的,一个RTT内,一共会收到 w w w个ACK, d t dt dt作为连续ACK到达的间隔:
d t = R w dt=\\dfrac{R}{w} dt=wR
将 d w dw dw和 d t dt dt代入 d T d t \\dfrac{dT}{dt} dtdT的表达式:
d T ( t ) d t = w R 2 × ( α w ( 1 − p ) − β w p ) = T ( t ) R × ( α w ( 1 − p ) − β w p ) \\dfrac{dT(t)}{dt}=\\dfrac{w}{R^2}\\times (\\dfrac{\\alpha}{w}(1-p)-\\beta wp)=\\dfrac{T(t)}{R}\\times (\\dfrac{\\alpha}{w}(1-p)-\\beta wp) dtdT(t)=R2w×(wα(1−p)−βwp)=RT(t)×(wα(1−p)−βwp)
整理成 T ( t ) T(t) T(t)和 p p p的关系,可得:
d T ( t ) d t = α 1 − p R 2 − β T ( t ) 2 p \\dfrac{dT(t)}{dt}=\\alpha\\dfrac{1-p}{R^2}-\\beta T(t)^2p dtdT(t)=αR21−p−βT(t)2p
在稳定情况下,吞吐率是不会变化的,即 d T d t = 0 \\dfrac{dT}{dt}=0 dtdT=0代入上式:
α 1 − p R 2 = β T ( t ) 2 p \\alpha \\dfrac{1-p}{R^2}=\\beta T(t)^2p αR21−p=βT(t)2p
求解 T ( t ) T(t) T(t),可得:
T ( t ) = 1 R α ( 1 − p ) β p T(t)=\\dfrac{1}{R}\\sqrt{\\dfrac{\\alpha(1-p)}{\\beta p}} T(t)=R1βpα(1−p)
这就导出了丢包率 p p p和吞吐率 T T T之间的关系。
对于Reno而言, α = 1 \\alpha=1 α=1, β = 0.5 \\beta=0.5 β=0.5
浙江温州皮鞋湿,下雨进水不会胖。
以上是关于AIMD response function的一般推导的主要内容,如果未能解决你的问题,请参考以下文章
在处理来自 AngularJS 承诺的错误时,使用 `.catch(function(error)` 和 `function(err Response)` 有啥区别? [重复]
php mail function error -> Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must