Download presentation
Presentation is loading. Please wait.
Published byClement Flynn Modified over 9 years ago
1
Modeling TCP Congestion Control Don Towsley UMass Amherst towsley@cs.umass.edu collaborators: T. Bu, W. Gong, C. Hollot, V. Misra
2
Outline motivation TCP primer bottleneck invariance principle –instability of RED active queue management –fixed point approximations of TCP networks transient analysis of TCP networks –stochastic differential equations summary
3
Properties of TCP 90% of Internet traffic conservative end-end congestion control (CC) –equal bandwidth share –additive increase multiplicative decrease CC only end-end protocol with congestion control 20Mbs B 1 =5Mbs B 2 =5Mbs B 3 =5Mbs B 4 =5Mbs 1 2 3 4 TCP 20Mbs B 1 = 2Mbs B 2 = 2Mbs B 3 = 2Mbs B 4 = 2Mbs 1 2 3 4 UDP-12Mbs TCP { 12Mbs TCP can be pushed around
4
Properties of TCP 90% of Internet traffic conservative end-end congestion control (CC) –equal bandwidth share –additive increase multiplicative decrease CC only end-end protocol with congestion control Need to understand TCP in network setting
5
Additive-Increase Multiplicative- Decrease (AIMD) Congestion Control r i - rate after i-th feedback r i+1 = r i + c if i-th feedback is no congestion r i+1 = a x r i if i-th feedback indicates congestion, a<1 similar algorithms for window-based CC basic building block of most congestion control algorithms (e.g., TCP)
6
r i 1 ri2ri2 C C (r1,r2)(r1,r2) two sources, rates r i 1,r i 2... (Chiu,Jain 89) initial rates r 1 and r 2 bandwidth C AIMD and Fair Share as time goes on, i increases, source rates converge to a fair share
7
Generic TCP Behavior window algorithm (window W ) –up to W packets can be in network –return of ACK allows sender to send another packet –ACKS cumulative increase window by one per RTT W W +1/W per ACK W W +1 per RTT seeks available network bandwidth
8
sender receiver W
9
Generic TCP Behavior window algorithm (window W) increase window by one per RTT W W +1/W per ACK loss indication of congestion decrease window by half on detection of loss (triple duplicate ACK), W W/2
10
sender receiver TD
11
Generic TCP Behavior window algorithm (window W) increase window by one per RTT W W +1/W per ACK halve window on detection of loss, W W/2 timeouts due to lack of ACKs window reduced to one, W 1
12
sender receiver TO
13
Generic TCP Behavior window algorithm (window W) increase window by one per RTT (or one over window per ACK, W W +1/W) halve window on detection of loss, W W/2 timeouts due to lack of ACKs, W 1 successive timeout intervals grow exponentially long slow start mechanism provides fair share, full use of bandwidth
14
Early Models B(p,R) - TCP session throughput –p - loss probability –R - avg round trip time equilibrium analysis of AIMD B (p,R ) 1/R (1/p ) 1/2 equilibrium analysis incl. timeouts (PFTK98) B (p,R ) [R (4p/3) 1/2 + T 0 3(3p/4) 1/2 p (1+32p 2 )] -1 –T 0 - timeout length
15
Validation Experiments: –38 traces from 18 hosts –unidirectional bulk transfers –100sec measurements Observations: –many timeout loss events Conclusions: –good validation –other studies support model –insensitive to TCP version Packets/s Measured PFTK p 1/2 model Packets/s Measured PFTK p 1/2 model
16
Lessons TCP exhibits well defined bandwidth curve –decreasing function of R and p timeouts important little difference between TCP versions –AIMD, timeouts –Vegas an exception
17
Bottleneck invariance principle bottleneck router –loss, high load, util. 1 bottleneck invariance principle (BIP) i B i (R i,p) = C C - router bandwidth B i - throughput of flow i
18
Applications of BIP provides simple checks of protocol design –active queue management, RED –new improved congestion control algorithms accurate models of networks supporting infinite/finite duration TCP flows –thruput, loss rate, avg. queue length, …
19
Active queue management drop tail - drop pkt when buffer fills active queue management (AQM) –proactively drop/mark packets before buffer overflow –example: drop pkt with probability p(x) x - avg. queue length
20
RED (Random Early Detect) RED: marking/dropping based on average queue length x (t ) t min t max p max 1 2t max marking prob p avg queue length x t - q (t ) - x (t ) x (t) : smoothed, time averaged q (t) x (t i +1) = q (t i + ) + (1- ) x (t i )
21
RED discard function RED queue N N 1 < N 2 N2N2 N identical TCP sources B(R,p) = C/N C p increases with N p max t max N1N1 N1N1 N3N3 N 2 < N 3 ? N4N4 N 3 < N 4
22
RED discard function RED queue N N identical TCP sources B(R,p) = C/N C p increases with N p max t max N4N4 queue length
23
RED discard function RED queue N (Firoiu, Borden, 00) N identical TCP sources B(R,p) = C/N C p increases with N once p > p max, queue oscillates around t max RED unstable! p max t max
24
Improved RED t min t max p max 1 discontinuity removed in gentle_ variant 2t max Marking prob. p Avg queue length x
25
Stationary Behavior: single bottleneck 1 N N infinite sourceTCP sessions one bottleneck link –AQM; avg. queue length q, discard prob. p(q) –bandwidth C R (q) = R 0 + q /C (round trip time) B (p(q ), R (q )) = C /N
26
Single bottleneck solve a fixed point problem for q unique solution provided B is monotonic and continuous resulting q can be used to obtain R i and p preliminary evaluation results good
27
Results: single Bottleneck N TCP flows two-way prop. delay 18+2i ms, i = 1,…,N link bandwidth N RED: scaled by N PFKT Model p 1/2 Model Simulation + RT Modelp 1/2 Model similar results for short-lived flows
28
Network Setting N TCP flows –throughputs {B i } V congested RED routers –capacities {C v } –avg. queue lengths x = {x v } –discard prob. p = {p v (x v )} TCP model: B i (R, p) congested router model i B i (x ) = C v, v =1,…,V V equations, V unknowns TCP flow B i AQM router C v, p v (x v )
29
Results: Tandem Networks 8 networks, 5 -10 routers 2-way propagation delay 20-120 ms bandwidth, 2-6 Mbps error throughput < 10% loss rate < 10% avg. queue length < 15% similar results for cyclic networks RT Model p 1/2 Model + Estimated end to end loss Measured end2end loss
30
Transient Analysis: single router one congested router –capacity {C (packets/sec) } –queue length q (t ) –discard prob. p(t ) N TCP flows –window sizes W i (t ) –round trip time R i (t ) = A i +q (t )/C –throughputs B i (t ) = W i (t )/R i (t ) 1 N
31
System of Stochastic Differential Equations Window Size: dW i Timeouts ignored = Additive increase dt R i (q (t)) - Mult. decrease WiWi dN i (t- ) 2 {N i (t)}: time varying, rate W i (t ) p (x (t )) / R i (q (t)) : feedback delay (round trip time) Assumption: Poisson loss process {N i (t)}:
32
System of SDEs Queue length: = Outgoing traffic - 1{q (t) > 0}C dtdq Window Size: dW i = dt R i (q (t)) - WiWi dN i (t- ) 2 Incoming traffic + R i (q (t )) W i (t ) dt
33
System of Differential Equations Window Size: dEW i dt 1 R i (Eq(t)) EW i 2 - EW i (t- ) R i (Eq(t- )) Ep(t- ) -1 {Eq(t) > 0} C + R i (Eq(t)) EW i (t) Queue length: dEq dt Conjecture: exact as no. flows ->
34
System of Differential Equations (cont.) Estimated average queue length: Eq(t) dEx dt = ln (1- ) - Ex(t) = averaging parameter of RED = sampling interval ~ 1/C Loss probability: dEp dt = dp dx dEx dt dp/dx is obtained from the marking profile p x
35
Result: N +2 coupled equations Numerical solution using MATLAB dEW i dt =f 1 (Ep,R i, EW i ) i = 1..N dEq dt = f 2 (EW i ) dEp dt = f 3 (Eq)
36
Extension to Network Networked case: V congested AQM routers Other extensions to model Timeouts: leveraged work done in [PFTK Sigcomm98] to model timeouts Flow aggregation: represent flows sharing same route by single equation loss probability - cumulative loss probability p(t) = 1- V (1-p V (t )) Queuing delay - aggregate delay q(t ) = V q V (t )
37
Validation scenario two RED routers one way ftp flows traffic sources comparison to ns transient queuing performance obtained Flow set 1 Flow set 2 Flow set 3 Flow set 4 Flow set 5 RED router 1 RED router 2 Topology 5 sets of flows 2 RED routers Set 2 flows through both routers
38
Performance of DE method link rates 5 Mb/s load variation at t=75 and t=150 seconds 200 flows simulated drops to 120 between t = 75, 120 fluid model captures transient performance Fluid model ns simulation Inst. Queue length Time
39
Observations on RED “Tuning” of RED is difficult - sensitive to packet sizes, load levels, round trip time, etc. oscillations due to –exponential smoothing of queue length –use of variable sampling interval –feedback delay –queue fill delay Further Work Detailed Control Theoretic Analysis of TCP/RED available at http://gaia.cs.umass.edu/papers/papers.html
40
Improving congestion control Working with linearized model developed rules for setting RED parameters compared Proportional Integral (PI) controller with properly adjusted RED ns simulation with time varying http,ftp flows PI controller: faster response, decouples queue size and load level Queue length vs. Time - PI Controller - RED Controller queue length time
41
Conclusions fixed point approach promising for stationary behavior of TCP DE approach promising for more detailed transient behavior computation cost of methods a fraction of the discrete event simulation cost formal representation and analysis yields better understanding of RED/AQM
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.