Improving TCP Start-up over High Bandwidth Delay Paths Ren Wang, Giovanni Pau, M.Y. Sanadidi and Mario Gerla UCLA Computer Science Department www.cs.ucla.edu/NRL
Motivation • TCP Reno/Newreno Mechanism: � Slow-start: cwnd grows exponentially until hit ssthresh � Congestion-avoidance: cwnd grows linearly • By setting initial ssthresh to an arbitrary value, TCP may suffer: � ssthresh too high: multiple loss and coarse timeout � ssthresh too low: premature exit of slow-start and low utilization • Majority of TCP flows are short-lived 90 80 • The Bandwidth Delay Product(BDP) 70 Utilization (%) 60 has been growing fast, resulting in poor 50 40 30 utilization for short-lived connections 20 10 with current TCP implementation: 0 10 20 40 100 200 Bandwidth (Mbps) Utilization during the first 20 seconds (RTT=100ms) March, 2003 UCLA Computer Science 2 Department
Related Work • Larger initial cwnd � Good for transfers with a few packets • Fast Start � Cached information may be stale • Smooth Start � Assuming initial ssthresh is large enough • Shared passive network discovery(SPANK) � Needs leaky bucket pacing • TCP Vegas • Hoe’s Method March, 2003 UCLA Computer Science 3 Department
TCP Vegas(1) • Sender watches for sign that router’s queue is building up and congestion will happen; e.g., � RTT grows � sending rate flattens • Sender lowers sending rate to avoid buffer overflow • During Slow-start, Vegas doubles cwnd every other RTT • Until diff (between expected and achieved rate) exceeds a threshold: cwnd cwnd = − diff baseRTT RTT n March, 2003 UCLA Computer Science 4 Department
TCP Vegas(2) Vegas cwnd 140 Instant Queue Length 120 start of cwnd doubling period 100 cwnd in packets • Problem: premature exit due to 80 RTT over-estimation, caused queue length corresponding to measured RTT 60 40 by temporary queue buildup: 20 0 0 1 2 3 4 5 Time (sec) 0.45 Ratio of exit cwnd to ideal 0.4 • Under-utilization becomes 0.35 0.3 severe when the bandwidth window 0.25 0.2 delay product increases: 0.15 0.1 • Exit cwnd : the congestion window 0.05 0 when a connection exits slow start 10 20 4 0 80 150 Bandwidth (Mbps) Ratio of Slow-start termination cwnd to the ideal window (=BDP) (RTT =100ms) March, 2003 UCLA Computer Science 5 Department
Hoe’s method(1) • Setting initial ssthresh to estimated BDP � Bandwidth: packet pair bandwidth estimate � RTT: measured RTT of the first segment transmitted • May achieve high utilization, but not robust to buffer variation and dynamic load during slow start phase 700 600 cwnd in packets 500 cwnd with large buffer (500) 400 300 200 Ideal exit window =Path BDP = 500 packets 100 0 0 5 10 15 20 25 30 Time (sec) March, 2003 UCLA Computer Science 6 Department
Hoe’s method(2) • Problem: � The bottleneck buffer is small compared to BDP � Other large volume traffic join in during Slow-start phase • � Multiple losses, timeout, and low utilization 700 600 20 Mbps CBR starts at 0.5sec 600 Ideal exit window =min (BDP,2*buffersize)= 250 500 cwnd in packets cwnd in packets cwnd of Hoe's method 500 cwnd with small buffer (125) 400 400 300 300 Multiple losses in Hoe's method 200 200 100 100 0 0 0 5 10 15 20 25 30 0 2 4 6 8 10 Time (sec) Time (sec) (a)Small buffer cause multiple losses (b) Traffic interference cause multiple losses March, 2003 UCLA Computer Science 7 Department
Adaptive Start (Astart) Approach • Take advantage of Eligible Rate Estimation (ERE) in TCP Westwood (TCPW) � Adaptively and repeatedly reset ssthresh to estimated bandwidth share or Eligible Rate Estimate, if appropriate • Key idea in TCPW and ERE � Enhance congestion control via the Eligible Rate Estimate � ERE is estimated at the sender by sampling and exponential filtering measures from ACK stream � Samples are determined from ACK inter-arrival times and info about bytes delivered � after packet loss (ie, 3 DUPACKs, or Timeout), ERE is used by sender to set cwnd, ssthresh=ERE x RTTmin March, 2003 UCLA Computer Science 8 Department
TCP Westwood: the Control Algorithm • TCPW Algorithm Outline: � When three duplicate ACKs are detected : � set ssthresh=ERE*RTTmin (instead of ssthresh=cwin/2 as in Reno and NewReno) � if (cwin > ssthresh) set cwin=ssthresh � When a TIMEOUT expires : � set ssthresh=ERE*RTTmin (instead of ssthresh=cwnd/2 as in Reno) and cwin=1 Note: RTTmin = min round trip delay experienced by the connection March, 2003 UCLA Computer Science 9 Department
ERE in TCPW ∑ d j = > − t t RTT j k s = − S d /( t t ) BE Sampling : RE Sampling : − k RTT k k k k 1 Packet pair, may overestimate ( e.g. in Packet train, fair estimate in congestion, may underestimate (e.g. in random loss) Congestion), effective in random loss T k T k No Congestion Congestion •ERE estimate: adapt the sample interval T k according to current measured congestion level (Vegas measure of congestion level) • T k ranges from one ACK interarrival interval � RTT • RE <= ERE <= BE March, 2003 UCLA Computer Science 10 Department
Adaptive Start (Astart) (1) Astart uses ERE to adaptively and repeatedly reset ssthresh during the startup phase (connection startup and after a coarse timeout): if ( 3 DUPACKS are received) switch to congestion avoidance phase; else (ACK is received) if (ssthresh < (ERE*RTTmin)/seg_size) ssthresh =(ERE*RTTmin)/seg_size; endif if (cwnd >ssthresh) /*mini congestion avoid. phase*/ increase cwnd by 1/cwnd; else if (cwnd <ssthresh) /*mini slow start phase*/ increase cwnd by 1; endif endif March, 2003 UCLA Computer Science 11 Department
Astart (2) 900 700 800 600 700 cwnd in packets cwnd in packets 500 600 400 500 400 300 cwnd Slow Start Threshold 300 cwnd 200 Slow Start Threshold 200 100 100 0 0 0 5 10 15 20 25 30 0 5 10 15 20 25 30 Time (sec) Time (sec) (a)Big buffer (500 packets) BDP = 500 packets (b) Small buffer(125 packets) 510 cwnd • Astart continuously uses ERE 500 mini congestion avoidance phases 490 cwnd in packets • Contains mini slow-start and mini 480 470 congestion-avoidance phases 460 450 • cwnd grows slower as it approaches 440 mini slow start phases 430 BDP 420 1.6 1.7 1.8 1.9 2 2.1 2.2 Time (sec) (c)A closer look at Astart cwnd dynamic March, 2003 UCLA Computer Science 12 Department
Astart (3) 400 350 300 cwnd (connection 1) cwnd in packets cwnd (connection 2) cwnd (connection 3) 250 cwnd (connection 4) cwnd (connection 5) 200 150 100 50 0 0 2 4 6 8 10 Time (sec) Astart cwnd dynamic with 5 connections startup simultaneously 600 20 Mbps CBR starts at 0.5sec 500 cwnd in packets cwnd of Hoe's method 400 cwnd of Astart 300 Multiple losses in Hoe's method 200 100 0 0 2 4 6 8 10 Time (sec) cwnd dynamic with UDP traffic joins in during startup phase (compare Astart and Hoe’s method) March, 2003 UCLA Computer Science 13 Department
Throughput Comparison Throughput vs. Bottleneck Capacity (During first 20 Throughput vs. Two-way Propagation seconds) (RTT =100ms, Buffer size =BDP) Time (During first 20 seconds) (Bottleneck capacity = 40 Mbps, 140 NewReno with Hoe's change Buffer size =BDP) Astart Vegas 45 120 NewReno Throughput (Mbps) 40 100 35 80 Throughput (Mbps) 30 NewReno with Hoe's change 60 AStart Vegas 25 NewReno 40 20 20 15 0 10 20 40 60 80 100 120 140 bottleneck Capacity (Mbps) 5 Throughput vs. Bottleneck Buffer size (During first 20 0 seconds) (RTT =100ms, Bottleneck =40 Mbps) 20 40 60 80 100 120 140 160 180 200 Two-way Propagation Time (msec) 40 35 30 NewReno with Hoe's change Throughput (Mbps) Astart Results summary Vegas 25 NewReno • Scaling with Capacity 20 15 • Robust to buffer size 10 • Scaling with Propagation time 5 0 100 120 140 160 180 200 220 240 260 BOttleneck buffer size (Segments) March, 2003 UCLA Computer Science 14 Department
Efficiency/Friendliness • Use Efficiency/Friendliness Tradeoff Graph � X-axis represents friendliness � Y-axis represents efficiency 6 Astart vs. NewReno Simulation setup: 5 BDP=750 � Bottleneck: 40 Mbps Utilization Ratio G (Efficiency) BDP=625 � BDP: Varies with RTT 4 � Two connections start BDP=500 up at the same time 3 � Record the throughput 2 during first 5 seconds � Calculate Utilization 1 ratio and throughput ratio 0.85 0.9 0.95 1 1.05 1.1 Throughput Ratio L (Friendliness) March, 2003 UCLA Computer Science 15 Department
Summary • Reviewed and evaluated Vegas, Hoe’s method • Presented Astart, a new approach based on TCPW ERE • Compared throughput, scaling with BDP, and robustness to buffer and load variations • Hoe’s method provides high throughput, but Astart comes very close, AND is robust to buffer size and dynamic load • Astart is another illustration of the benefits of pursuing estimates of bandwidth measures to improve congestion control in TCP March, 2003 UCLA Computer Science 16 Department
Recommend
More recommend