Multipath TCP与网络效率最大化

他们把死人存进银行,吃利息。

多径tcp

 当别人造的公式没有办法理解的时候,只能勉强去理解。
 [1]中有个表达式同[2]中的(7)式有一样的形式,殊途同归。也可以参考[15]的推导,更容易理解。
 For every ACK, w r ← w r + I r w_r\gets w_r+I_r wrwr+Ir,for each lost, w r ← w r + D r w_r\gets w_r+D_r wrwr+Dr
 对于AIMD的TCP来说, I r = 1 w r I_r=\frac{1}{w_r} Ir=wr1, D r = w r 2 D_r=\frac{w_r}{2} Dr=2wr.
 设丢包率为 p r p_r pr,
Δ w = I r ( 1 − p r ) − D r p r (1) \Delta w=I_r(1-p_r)-D_rp_r\tag{1} Δw=Ir(1pr)Drpr(1)
 (1)反映的是收到ack,或者丢包发生的时候,窗口的变化。
p r p_r pr可以认为是返回的ack被标记的概率,根据[3]中的随机微分方程,则有: δ w l o s s = w r 2 p r x r δ t = w r 2 2 p r \delta w_{loss}=\frac{w_r}{2}p_rx_r\delta t=\frac{w_r^2}{2}p_r δwloss=2wrprxrδt=2wr2pr,取 δ t = r t t , x r ∗ r t t = w r \delta t=rtt,x_r*rtt=w_r δt=rtt,xrrtt=wr.
 或者可以这样推理, Δ w \Delta w Δw为收到一个ack的窗口变化,收到ack的时间间隔 Δ t = τ r w r \Delta t=\frac{\tau_r}{w_r} Δt=wrτr.一个rtt窗口的变化 δ w = Δ w Δ t τ = Δ w w r \delta w=\frac{\Delta w}{\Delta t}\tau=\Delta ww_r δw=ΔtΔwτ=Δwwr
 根据上面的解释,确实可以得到[1]中的下式。 δ w \delta w δw设为一个rtt内的窗口变化情况,有:
δ w r = ( I r ( 1 − p r ) − D r p r ) w r = Δ w w r (2) \delta w_r=(I_r(1-p_r)-D_rp_r)w_r=\Delta ww_r\tag{2} δwr=(Ir(1pr)Drpr)wr=Δwwr(2)
 另:
δ w r = w ˙ r τ r = x ˙ r τ r 2 (3) \delta w_r=\dot w_r\tau_r=\dot x_r\tau^2_r\tag{3} δwr=w˙rτr=x˙rτr2(3)
 因此:
x ˙ r = Δ w w r τ r 2 = x r τ r Δ w = x r τ r [ I r ( 1 − p r ) − D r p r ] (4) \dot x_r=\frac{\Delta ww_r}{\tau^2_r}=\frac{x_r}{\tau_r}\Delta w=\frac{x_r}{\tau_r}\left[I_r(1-p_r)-D_rp_r\right]\tag{4} x˙r=τr2Δwwr=τrxrΔw=τrxr[Ir(1pr)Drpr](4)
 (4)式同[2]中的(7)式是同一个表示。下一步需要学习下随机微分方程[4]。
 [1]中的后续分析主要基于下面这个公式:
x ˙ r = k r ( x r ) ( ϕ ( x r ) − p r ) (5) \dot x_r=k_r(x_r)(\phi(x_r)-p_r)\tag{5} x˙r=kr(xr)(ϕ(xr)pr)(5)
 对比(4),
k r ( x r ) = x r τ r D r k_r(x_r)=\frac{x_r}{\tau_r}D_r kr(xr)=τrxrDr
ϕ ( x r ) = I r D r \phi(x_r)=\frac{I_r}{D_r} ϕ(xr)=DrIr
k r ( x r ) k_r(x_r) kr(xr)反应的是系统的dynamic property。 ϕ ( x r ) \phi(x_r) ϕ(xr)反应的是系统的equilibrium property。
 [1]只是找到TCP在AIMD约束下的明确表达式。大概可以这样理解,面对链路回馈的代价,Kelly在[5]中给出了一个速率调整的原则(6)。那么另外一个问题,就是根据速率,网络应该如何更新链路代价(8)。这其实不就网络研究的两个终极问题吗,tcp应该如何向网络中发送数据包?网络中的路由器应该如何控制tcp的发送速率?
 这两个方面用Kelly的数学语言表示就是[5]中的primal algorithm,dual algorithm。我采用[6]中的形式:
 primal algorithm-tcp端的速率更新方法:
x ˙ s ( t ) = k ( w s − x s ( t ) ∑ l ∈ L ( s ) p l ( t ) ) (6) \dot x_s(t)=k(w_s-x_s(t)\sum\limits_{l\in L(s)}p_l(t))\tag{6} x˙s(t)=k(wsxs(t)lL(s)pl(t))(6)
p l ( t ) = f l ( ∑ s ∈ S ( l ) x s ( t ) ) ) (7) p_l(t)=f_l(\sum\limits_{s\in S(l)}x_s(t)))\tag{7} pl(t)=fl(sS(l)xs(t)))(7)
 dual algorithm-网络对速率的控制方法:
p ˙ l ( t ) = k ( ∑ s ∈ S ( l ) x s ( t ) ) − q l ( p l ( t ) ) ) (8) \dot p_l(t)=k(\sum\limits_{s\in S(l)}x_s(t))-q_l(p_l(t)))\tag{8} p˙l(t)=k(sS(l)xs(t))ql(pl(t)))(8)
x s ( t ) = w s ∑ l ∈ L ( s ) p l ( t ) (9) x_s(t)=\frac{w_s}{\sum\limits_{l\in L(s)}p_l(t)}\tag{9} xs(t)=lL(s)pl(t)ws(9)
 如果 w s w_s ws为窗口, p l p_l pl为一条链路的时延,那么(9)就完美契合。
 [7]就直接推导出了不同tcp的拥塞控制机制的utility function。
 [6]就给出了相应的效用最大化函数的数学推导。
##network utility maximazation
 以下属于效用最大化部分,公式中的序列号与上述无关。
 根据[6]的分析,稍微推导之:

符号含义
x s x_s xs速率为x的网络流s
S ( l ) S(l) S(l)经过链路l的流s的集合
L ( s ) L(s) L(s)流s经过的链路的集合
c l c_l cl链路l的带宽处理能力
U s U_s Us流s的效用函数

 根据效用最大化的定义,有如下约束:
 primal problem:
m a x ∑ s U s ( x s ) max \sum\limits_s U_s(x_s) maxsUs(xs)
s u b j e c t   t o ∑ s ∈ S ( l ) x s ≤ c l ,   l = 1 , 2... L . subject\ to \sum\limits_{s\in S(l)}x_s\leq c_l,\ l=1,2...L. subject tosS(l)xscl, l=1,2...L.
 对上述式子采用拉格朗日:
 dual problem:
L ( x , p ) = ∑ s U s ( x s ) − ∑ l p l ( ∑ s ∈ S ( l ) x s − c l ) = ∑ s ( U s ( x s ) − x s ∑ l ∈ L ( s ) p l ) + ∑ l p l c l L(x,p)=\sum\limits_s U_s(x_s)-\sum\limits_{l}p_l(\sum\limits_{s\in S(l)}x_s-c_l)=\sum\limits_s( U_s(x_s)-x_s\sum\limits_{l\in L(s)}p_l)+\sum\limits_{l} p_lc_l L(x,p)=sUs(xs)lpl(sS(l)xscl)=s(Us(xs)xslL(s)pl)+lplcl
p s = ∑ l ∈ L ( s ) p l (4) p^s=\sum\limits_{l\in L(s)}p_l\tag{4} ps=lL(s)pl(4)
 求(3)的极值,对(3)求偏导,:
∂ L ∂ x i = U i ′ ( x i ) − ∑ l ∈ L ( i ) p l = 0 ⇒ U i ′ ( x i ) = ∑ l ∈ L ( i ) p l (5) \frac{\partial L}{\partial x_i}=U_i'(x_i)-\sum\limits_{l\in L(i)}p_l=0\Rightarrow U_i'(x_i)=\sum\limits_{l\in L(i)}p_l\tag{5} xiL=Ui(xi)lL(i)pl=0Ui(xi)=lL(i)pl(5)
 那么(5)式的反函数, x i = U i ′ − 1 ( p ) x_i=U_i'^{-1}(p) xi=Ui1(p)。根据Low的的说法,这就是微观经济学中的需求函数(demand function)。
 采用gradient projection method迭代的方式求解(3)的极值。
p l ( t + 1 ) = [ p l ( t ) − γ ∂ L ∂ p l ] + (6) p_l(t+1)=[p_l(t)-\gamma\frac{\partial L}{\partial p_l}]^{+}\tag{6} pl(t+1)=[pl(t)γplL]+(6)
其中 ∂ L ∂ p l = c l − x l ( p )     x l ( p ) = ∑ s ∈ S ( l ) x s \frac{\partial L}{\partial p_l}=c_l-x^{l}(p)\ \ \ x^{l}(p)=\sum\limits_{s\in S(l)}x_s plL=clxl(p)   xl(p)=sS(l)xs
 (6)就是在路由器层面的拥塞控制机制,这个算法是可以根据本地信息求解的。所以Low围绕Kelly的两个式子,做了很多研究。在TCP的拥塞控制方面,他提出了基于时延信息的TCP FAST[12],在路由器的主动队列管理方面,他提出了REM[13]算法。Low在[7]求出了Reno和Vegas的效用函数。
[1][Peng Q, Walid A, Hwang J, et al. Multipath TCP: Analysis, design, and implementation[J]. IEEE/ACM Transactions on Networking, 2016, 24(1): 596-609.]
[2]基于窗口与基于速率的拥塞控制
[3]Misra V, Gong W B, Towsley D. Fluid-based analysis of a network of AQM routers supporting TCP flows with an application to RED[C]//ACM SIGCOMM Computer Communication Review. ACM, 2000, 30(4): 151-160.
[4]Misra V, Gong W B, Towsley D. Stochastic differential equation modeling and analysis of TCP-windowsize behavior[C]//Proceedings of PERFORMANCE. 1999, 99.
[5][Kelly F P, Maulloo A K, Tan D K H. Rate control for communication networks: shadow prices, proportional fairness and stability[J]. Journal of the Operational Research society, 1998, 49(3): 237-252.]
[6]Low S H, Lapsley D E. Optimization flow control. I. Basic algorithm and convergence[J]. IEEE/ACM Transactions on networking, 1999, 7(6): 861-874.
[7]Low S H, Paganini F, Doyle J C. Internet congestion control[J]. IEEE control systems, 2002, 22(1): 28-43.
[8]Athuraliya S, Low S H. Optimization flow control, II: Implementation[J]. submitted for publication, 2000.
[9]Kelly F. Fairness and stability of end-to-end congestion control[J]. European journal of control, 2003, 9(2-3): 159-176.
[10]Kelly F, Voice T. Stability of end-to-end algorithms for joint routing and rate control[J]. ACM SIGCOMM Computer Communication Review, 2005, 35(2): 5-12.
[11]Ruiz H M, Kieffer M, Pesquet-Popescu B. TCP and network coding equilibrium and dynamic properties[C]//Network Coding (NetCod), 2013 International Symposium on. IEEE, 2013: 1-6.
[12]FAST TCP: motivation, architecture, algorithms, performance
[13]An enhanced random early marking algorithm for internet flow control
[14]Low S H. A duality model of TCP and queue management algorithms[J]. IEEE/ACM Transactions On Networking, 2003, 11(4): 525-536.
[15] AIMD吞吐量公式的推导 https://blog.csdn.net/u010643777/article/details/78950328

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值