analysis of two competing tcp ip connections
play

Analysis of Two Competing TCP/IP Connections Eitan Altman 1 , 2 enez - PowerPoint PPT Presentation

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


  1. 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

  2. Sindo N´ u˜ nez-Queija Analysis of Two Competing TCP/IP Connections • Motivation & Model • Analysis • Approximation • Asymptotic analysis • Proofs 1

  3. 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

  4. 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

  5. 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

  6. Goals • Substantiate qualitative conclusions (fairness) 1 • Throughput ∼ RTT • Proof through bounds • Approximation that “matches” RTT − 0 . 85 for moderate RTTs 5

  7. 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

  8. • 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 ) /µ

  9. 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

  10. • 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

  11. 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

  12. 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

  13. 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

  14. • 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

  15. 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

  16. • 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

  17. 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

  18. 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

  19. 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

  20. • 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend