Analysis of Two Competing TCP/IP Connections Eitan Altman 1 , 2 enez 2 Tania Jim´ nez-Queija 3 , 4 Sindo N´ u˜ 1 INRIA Sophia Antipolis, France 2 CESIMO, Venezuela 3 CWI, The Netherlands 4 Eindhoven University of Technology, The Netherlands
Sindo N´ u˜ nez-Queija Analysis of Two Competing TCP/IP Connections • Motivation & Model • Analysis • Approximation • Asymptotic analysis • Proofs 1
Motivation Transmission Control Protocol (TCP) 70000 Exact Fluid Model Window Real Window 60000 Instantaneous TCP Window (Bytes) 50000 40000 30000 20000 10000 0 1755 1760 1765 1770 1775 1780 Time (s) 2
Overview of models • Many flows [Field+, Padhye+, Mathis+, Altman+] 1 ⋄ constant packet loss – throughput ∼ RTT 1 ⋄ exogenous loss process – throughput ∼ RTT 2 • Small number of flows [Ait-Hellal&Altman, Brown, Lak- shman&Madhow] ⋄ complete synchronization 1 ⋆ throughput ∼ RTT α with 1 < α < 2 , ⋆ tail drop buffers and similar RTTs 3
overview of models ... • No synchronization (asymmetry, RED) ⋄ fixed loss probability [Baccelli&Hong] ⋄ share of bandwidth [Altman+] ⋄ discretized Markov chain ⋄ throughput ≈ RTT − 0 . 85 ⋄ TCP more fair than assuming synchronization 4
Goals • Substantiate qualitative conclusions (fairness) 1 • Throughput ∼ RTT • Proof through bounds • Approximation that “matches” RTT − 0 . 85 for moderate RTTs 5
Model description • 2 saturated TCP sources • Bandwidth µ Source 1 Buffer µ Destination Source 2 • RTT k • W k ( t ) window size • Rate X k ( t ) = W k ( t ) /RTT k 6
• No time-out/slow-start (SACK, New-Reno) • Negligible queueing delay; RTT constant (AQM) • Increase 1 packet per RTT • Linear increase dW k ( t ) = dW k ( t ) × dack k W k ( t ) × W k ( t ) 1 1 = = . dt dack k dt RTT k RTT k • Congestion when X 1 ( t ) + X 2 ( t ) = µ (no queueing delay) • Loss probability X k ( t ) /µ
Markov model • Congestion epochs t n • X n := X 1 ( t n ) ; X 2 ( t n ) = µ − X n • a := ( RTT 1 ) 2 , b := ( RTT 2 ) 2 , c := ( a − 1 + b − 1 ) − 1 , and r := b a • S n +1 := t n +1 − t n • Connection 1 suffers from congestion at time t n ⋄ S n +1 = c 2 X n 1+2 r ⋄ X n +1 = 2(1+ r ) X n 7
• Connection 2 suffers from congestion at time t n ⋄ S n +1 = c ( µ − X n ) 2 µr 2+ r ⋄ X n +1 = 2(1+ r ) + 2(1+ r ) X n • Markov process 1+2 r w.p. X n 2(1+ r ) X n µ X n +1 = 2+ r w.p. 1 − X n µ − 2(1+ r ) ( µ − X n ) µ • Assume stationarity 8
Moments at loss instants E [ X k ] = E [ E [( X n +1 ) k | X n ]] � k � k � � 1 + 2 r µr + (2 + r ) X n X n 1 + r · X n + µ − X n = E µ 2 µ 2(1 + r ) = Z 1 ( k ) + Z 2 ( k ) • where � k +1 � Z 1 ( k ) = 2(1 + r ) 1 + 2 r E [ X k +1 ] µ (1 + 2 r ) 2(1 + r ) �� µr + (2 + r ) X n � k � �� µr + (2 + r ) X n � k +1 � 2(1 + r ) − 2(1 + r ) Z 2 ( k ) = E µ (2 + r ) E 2 + r 2(1 + r ) 2(1 + r ) • Recursion, but E [ X ] unknown 9
Symmetric case • r = 1 (1 − r ) E [ X 2 ] = µr ( µ − 2 E [ X ]) , � � µ 2 r + µ (4 + r ) E [ X ] − (8 + 5 r ) E [ X 2 ] µr (1 − r ) E [ X 3 ] = , 3(1 + r ) µr 7 r 2 + 13 r + 7 × ( − 2(5 r 2 + 15 r + 12 r ) E [ X 3 ] (1 − r ) E [ X 4 ] = +6 µ (2 + r ) E [ X 2 ] + 2 µ 2 r (3 + r ) E [ X ] + µ 3 r 2 ) . • E [ X ] = µ/ 2 • E [ X 2 ] = 7 µ 2 / 26 • E [ X 3 ] = 2 µ 3 / 13 • at loss instants! 10
Throughput distribution at loss instants • Define 1 + 2 r 2 + r µr β := 2(1 + r ) , u := 2(1 + r ) , v := 2(1 + r ) • Rewrite Z 1 ( k ) = E [( βX ) k +1 ] βµ Z 2 ( k ) = 1 v ( E [( u + vX ) k ] − µ − 1 E [( u + vX ) k +1 ]) • Laplace Stieltjes transform ∞ ( − s ) k E [ X k ] � F ( s ) := E [exp( − sX )] = k ! k =0 11
• From recursion − 1 µF ′ ( βs ) + 1 F ( s ) = v exp( − us ) F ( vs ) +1 µ exp( − us ) F ′ ( vs ) − u vµe − us F ( vs ) • Inversion � � 1 x + 1 � x − u � f ( x ) = β 2 µxf v 2 f β v − 1 � x − u v 2 µf ( x − u u � µv 2 ( x − u ) f − ) v v
Bounds on E [ X ] when r � = 1 • E [ X 2 ] = r E [( µ − X ) 2 ] • If r ≤ 1 ( RTT 1 ≥ RTT 2 ) (1 − r ) E [ X ] 2 + rE [ X ] 2 E [ X ] 2 = (1 − r ) E [ X 2 ] + rE [ X ] 2 ≤ rE [( µ − X ) 2 − X 2 ] + rE [ X ] 2 = r ( µ − E [ X ]) 2 = µ − E [ X ] ≤ √ r = RTT 2 E [ X ] ⇒ RTT 1 • Ifr ≥ 1 µ − E [ X ] ≤ 1 √ r E [ X ] 12
• First bounds µ √ r ≤ 1+ √ r if r ≤ 1 µ √ r E [ X ] if r ≥ 1 ≥ 1+ √ r • Coincide when r = 1 • Complementary bounds for E [ X ] using E [ X 2 ] < µ 2 : = E [ X 2 ] µ/ 2 − E [ X ] ≤ µ 1 − r 2 µr 2 r µ � ≤ | 1 − r | µ � � � � 2 − E [ X ] ⇒ � � 2 r � 2(1 + √ r ) 2 < µ/ 2 − E [ X ] µ ≤ µ → 1 − r 2 r • Symmetric expression for r > 1
Time average throughput • X k := C lim t →∞ X k ( t ) �� t n � • Inversion formula X 1 = E t n − 1 X 1 ( t ) dt /E [ S n ] � + c ( µ − X ) 2 �� cX 2 X + c ( µ − X ) � X � � 2 + cX E 2 µ 4 a 2 µ 4 a X 1 = � 2 µ + c ( µ − X ) 2 � cX 2 E 2 µ 2 X 3 − µ (2 + 4(1+ r ) ) X 2 + µ 2 (1 + � 3 3 r 3 r r � 4(1+ r ) ) X + µ 3 E 4(1+ r ) = � 2 X 2 − 2 µX + µ 2 � E • r = 1 ; E [ X ] = µ/ 2 , E [ X 2 ] = 7 µ/ 26 and E [ X 3 ] = 2 µ/ 13 X 1 = X 2 = 3 7 µ 13
Asymmetric case • r � = 1 : X 1 = µ h 1 ( E [ X ]) with h 1 ( x ) := (1 + r )(4 + 9 r ) x − µr (7 + 6 r ) 4(1 − r )(1 + r )( µ − 2 x ) • h 1 ( x ) increasing in x � = 1 2 µ µ √ r 4 − 3 √ r +3 r − 3 r √ r ≤ , if r < 1 4(1 − r )(1+ r ) µ √ r 4 − 3 √ r +3 r − 3 r √ r X 1 if r > 1 ≥ , 4(1 − r )(1+ r ) • Bounds not useful for r ≈ 1 • X 1 / ( µ √ r ) ≤ 1 when r → 0 • X 2 → 3 4 µ when r → 0 14
Fairness X 1 • r � = 1 : X 2 = h ( E [ X ]) where (1 + r )(4 + 9 r ) x − µr (7 + 6 r ) h ( x ) := (1 + r )(4 r + 9)( µ − x ) − µ (7 r + 6) . • h increasing in x for all values of x � = µ 3+6 r +4 r 2 (1+ r )(4 r +9) 4 − 3 √ r +3 r − 3 r √ r √ r � � ≤ 3 − 3 √ r +3 r − 4 r √ r , if r < r 0 X 1 4 − 3 √ r +3 r − 3 r √ r X 2 √ r � � ≥ 3 − 3 √ r +3 r − 4 r √ r , if r > 1 /r 0 • r 0 ≈ 0 . 32 unique root in (0 , 1) of − 3+7 √ x − 6 x +7 x √ x − 3 x 2 15
• Right order of magnitude when r → 0 or r → ∞ √ r · X 1 1 ≥ 2 lim inf X 2 3 r → 0 • From bound on X 1 /X 2 √ r · X 1 1 ≤ 4 lim sup 3 X 2 r → 0 • r → 0 : X 1 ∼ √ r = RTT 2 /RTT 1
Asymptotic bound 1+2 r w.p. X n 2(1+ r ) X n µ X n +1 = 2+ r w.p. 1 − X n µ − 2(1+ r ) ( µ − X n ) µ • x 0 = x 0 ( r ) := µ √ r/ � 1 + √ r � ∼ µ √ r , r → 0 • Drift is positive if X n < x 0 , negative if X n > x 0 • X n “tends to be in the neighborhood of x 0 ” • Y n mimics X n � if Y n ≤ t t/µ, (1+2 r ) Y n w.p. 2(1+ r ) , 1 , if Y n > t Y n +1 = � µ − t/µ, if Y n ≤ t (2+ r ) Y n + rµ , w.p. 2(1+ r ) 0 , if Y n > t • t ∈ (0 , µ ) arbitrary threshold (later t = 2 µ √ r ) 16
Process Y n : lower bound • Coupling: Y 0 ≤ X 0 ⇒ Y n ≤ X n • E [ X ] ≥ E [ Y ] = (1 − t/µ ) ( rµ − (1 − r ) E [ Y 1 ( Y > t )]) r + (1 − r ) t/µ � ( r +2) t rµ � • E [ Y 1 ( Y > t )] ≤ 2( r +1) + P ( Y > t ) 2( r +1) • Bound P ( Y > t ) from above • τ t is the return time to the set { Y > t } (if Y n > t then Y n +1 < t ) • P ( Y > t ) = 1 / (1 + τ t ) 17
Bounding P ( Y > t ) = 1 / (1 + τ t ) K τ t := K + t � ˆ τ t ≥ a k , µ k =1 t + r ( µ − t ) 2 r +1 � � t − 2( r +1) 2( r +1) K := , rµ/ (2( r + 1)) � � � � 2 r + 1 t + r ( µ − t ) × (2 r + 1) / (2( r + 1)) krµ := + a k . 2( r + 1) 2( r + 1) 2( r + 1) rµ/ (2( r + 1)) • K = minimum number of steps to get back above level t after it has dropped below Proof ⋄ After dropping below t the process is surely below t + r ( µ − t ) 2 r +1 � � level 2( r +1) 2( r +1) ⋄ E [ Y n +1 − Y n ] ≤ rµ/ (2( r + 1)) ⇒ at least K steps 18
bounding P ( Y > t ) = 1 / (1 + τ t ) ... • At each step new reduction with probability t/µ • Reduction at k -th step: at least a k additional steps to “recover” � � t + r ( µ − t ) rµ +(1 − r ) r ( µ − t ) 2( r +1) . • E [ X ] ≥ µ − rµ +(1 − r ) t r (1+ˆ τ t ) • Choose t = t ( r ) = c √ r 1 + c 2 r ˆ τ t ( r ) � � t ( r ) = 1 lim , 4 µ 2 µ r → 0 cµ 2 1 4 µ 2 + c 2 = 1 ⇒ lim inf √ rE [ X ] ≥ 2 µ, r → 0 Set c = 2 µ for sharpest bound 19
Approximation for X 1 /X 2 • Approximate X 1 and X 2 by average throughput in be- tween two consecutive losses: � � 1 2 E [ X ] + 1 E [ X ] − 1 2 µE [ X 2 ] X 1 ≈ 2 2 − r rµ = 2(1 − r ) E [ X ] − 4(1 − r ) • Use bound for E [ X ] as approximation √ r � 4 + 3 √ r � X 1 ≈ 3 + 4 √ r X 2 � √ r • “Explains” fairness ratio of ( RTT 2 /RTT 1 ) 0 . 85 = � 0 . 85 for moderate values of r • Approximation matches correct order of magnitude when r → 0 or r → ∞ 20
Recommend
More recommend