TCP-Carson A Loss-event Based Adaptive AIMD Protocol for Long-lived Flows Hariharan Kannan Advisor: Prof. M Claypool Co-Advisor: Prof. R Kinicki Reader: Prof. D Finkel
Outline Introduction TCP Behavior TCP-Carson Evaluation Summary Future Work
Introduction Modern Internet Short-lived flows e.g. HTTP Streaming media e.g. Real audio Real-time applications e.g. VoIP services Long-lived flows e.g. FTP Heavy tailed 80% bytes are from few connections [Matta, ‘01] Use TCP 80% of traffic is TCP [Hidenari, ‘97] Responsive to congestion – Internet stability No loss Router Support to TCP like behavior More applications are built on top of TCP Optimize long-lived flow performance in TCP like fashion Long-lived
Modifications to TCP TCP – Two phases –Slow Start: (till first loss of packet) Aim: Rough estimate of available bandwidth. Congestion Manager [Bala, ’99], TCP Fast Start [Venkat, ‘98] –Congestion Avoidance: Aim: Optimize window-size, react to network congestion Reno, New-Reno, Vegas, Tahoe AIMD [Yang, ‘00]: window size = f (increase “a”, decrease “1-b”) –Conventional TCP (1, 0.5) –Other Equations: a=3b/(2-b), a=4(1-b²)/3 –TCP-Carson * –TCP variant, built on top of RENO –Window-based –Fully reliable –Responsive to Congestion * Carson City: Located in the State of Nevada, Population: 52457, Founded 1858 For more details visit
The Probing Problem drop s
TCP-Carson Detects Steady State –Losses are periodic –Loss interval: Interval in packets between two successive losses Adapt responsiveness (reaction) –Adapt “a”, “b”: (increase, decrease) Benefits: Increase throughput, reduce loss, reduce window-size variance
Outline Introduction TCP Behavior –Congestion Window –Loss interval TCP-Carson Evaluation Summary
Topology R2 R1 r1 r2 r3 s3 s2 s1 1 Mb, 40ms 2 Mb, 10ms Drop tail Q = 15 Drop tail Q = 15
TCP – Cwnd Behavior 1161 Steady UnsteadySteady RTX-TO - b/w + b/w
TCP – Loss interval Loss Interval : Number of packets between successive loss events 1161 Steady Unsteady
Outline Introduction TCP Behavior TCP-Carson –Steady State Detection Metrics Mechanism –Algorithm Evaluation Summary
Steady State Detection - Metrics 11 16
Steady State Detection - Metrics 1 116
Steady State Detection - Algorithm Metric : Weighted Average Loss Interval –Used in TFRC [Floyd, ‘01] –Evaluated overlapping and distinct windows –Evaluated window sizes from 4 – 32 –Chose sliding-32 –Equal weights to recent 16 –Exponentially decreasing weights for prior 16 wt i = 1, 1 ≤ i ≤ 16 = 1 - [(i – n/2)/(n/2 +1)], 17 ≤ i ≤ ………313233
Steady State Detection - Algorithm When Steady? –wali(i+1) = wali(i) ± [ 0.1 * wali(i)] When Unsteady? –wali(i+1) != wali(i) ± [ 0.1 * wali(i)] –Retransmission timeout –No loss for long time See how it works!!!
Steady State – 10 Flows
Steady State – Varying # of flows
TCP–Carson : Algorithm AIMD Table: detect_state(loss_interval) if (steady) { go_up() } if (unsteady) {go_down()}//become TCP Okay dude!!! Show me the results!!!! “a”“b” TCP (start here)
Evaluation 1 TCP-Carson 1 TCP-Carson, 1 CBR 1 TCP-Carson, 1 TCP-Reno 4 TCP-Carson, 4 TCP-Reno 7 TCP-Carson, 1 TCP-Reno 1 TCP-Carson, 7 TCP-Reno 8 TCP-Carson 20 TCP-Carson Varying flow life-times – Varying number of flows
1TCP-Carson
1 TCP-Carson, 1 CBR(0.5Mb) 1 Carson, 1 UDP 1 Carson
1TCP-Carson, 1TCP-Reno
4-Carson, 4-Reno
8 TCP-Carson flows
Evaluation CarsonReno Avg Cwnd Loss Thruput Single Flow CarsonReno Avg Cwnd Loss Thruput Carson, 1-Reno CarsonReno Avg Cwnd Loss Thruput * Carson, 4-Reno CarsonReno Avg Cwnd Loss Thruput Carson / 8-Reno * Note: Bottleneck bandwidth was 1.5M TCP friendly in all cases Average throughput less than TCP response function for (loss, RTT) combination
Summary TCP variant (on top of Reno) Detects Steady State Adapts responsiveness Benefits: –Increase throughput –Reduces loss –Reduce window-size variance –End-to-End protocol
Future Work AIMD action RED/ECN effect Application performance Slow-start, high congestion periods Steady state detection algorithms
TCP-Carson A Loss-event Based Adaptive AIMD Protocol for Long-lived Flows Hariharan Kannan Advisor: Prof. M Claypool Co-Advisor: Prof. R Kinicki Reader: Prof. D Finkel