Evaluate multipath balia congestion control on ns3

 The dumbbell topology in [1] is used for to evaluate balia performance on ns3.

n0--L0--n2--L1--n3--L2--n4
n1--L3--n2--L1--n3--L4--n5

 The control rule in balia [2] is:
wr{wr+xrτr(xk)21+αr24+αr5When an ack is receivedwrwr2min(1.5,αr)When packet loss happens(1)w_r \leftarrow\begin{cases} w_r+\frac{x_r}{\tau_r(\sum{x_k})^2}\cdot\frac{1+\alpha_r}{2}\cdot\frac{4+\alpha_r}{5} & \text{When an ack is received} \\ w_r-\frac{w_r}{2}\min(1.5,\alpha_r)& \text{When packet loss happens} \end{cases}\tag{1}
  Here,α=maxxkxr\alpha=\frac{\max{x_k}}{x_r}. xr=wrτrx_r=\frac{w_r}{\tau_r}
 But the code implementaion in linux [3]for ai is:

	/*			(sum_rate)^2 * 10 * w_r
	 * ai = ------------------------------------
	 *			(x_r + max_rate) * (4x_r + max_rate)
	 */

  That gets me confused, since ai is not in consitent with (1).
  According to (1) and τr=wrxr\tau_r=\frac{w_r}{x_r}:
ai=10(xk)2τr(xr+max_rate)(4xr+max_rate) ai=\frac{10\cdot (\sum{x_k})^2\cdot \tau_r}{(x_r+max\_rate)\cdot(4x_r+max\_rate)}
 What I got is:

	/*			         (sum_rate)^2 * 10 * w_r
	 * ai_correct= ------------------------------------
	 *			    x_r*(x_r + max_rate) * (4x_r + max_rate)
	 */

  I dont know the reason behind the formular (1) to control the increase process of cwnd.
But at least, the ai_correct is indeed has the same unit with w_r.
  So, in implemementation, I use ai_correct to control the increase process of cwnd.

Test1

 The bandiwidth of L1 is 5Mbps.
 flow1 and flow4 are two subflows of a multipath session. flow2 and flow3 take Reno for rate control. flow1 and flow2 take route(n0->n4). flow3 and flow4 take route(n1->n5).
 The sending rate of each flow:
在這裏插入圖片描述
 Packets received rate, here mp denotes the total throughput of the multipath session:
在這裏插入圖片描述

Test2

 The bandiwidth of L1 is 8Mbps.
 The sending rate of each flow:
在這裏插入圖片描述
 Packets received rate:
在這裏插入圖片描述
[1] Evaluation multipath weswood congestion control on ns3
[2] Multipath TCP: Analysis, Design, and Implementation
[3] balia implementation in mptcp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章