Stefano Giordano – ICC Seoul, May On the Use of Pipesize Estimators to Improve TCP Transient Behavior Stefano Giordano, Gregorio Procissi, Franco Russo, Raffaello Secchi Dipartimento di Ingegneria dellInformazione Universita di Pisa
Stefano Giordano – ICC Seoul, May Outline Introduction and Related Works Algorithm rationale and implementation Comparisons with TCP NewReno –NewReno/ESSE performance, Robustness to Backward Congestion, Sensitivity to Network Parameters Fairness & Friendliness –Impact on Short Lived Flows –Impact on NewReno Steady-State Behavior
Stefano Giordano – ICC Seoul, May Short versus Long Lived Connections Recent measurement studies (CAIDA) reveal that, though the bulk of traffic volume is carried over long lived connections, the majority of Internet traffic consists of short- lived flows Characteristics of Internet stream dimension Long-Lived (Elephants) Transmit large number of packets TCP mechanisms designed for long-lived flows Operate primarily in TCP congestion avoidance Short-Lived (Mice) Transmit small number of packets Operate primarily in slow-start phase Example: web browsing traffic Nevil Brownlee, Some Observations of Internet Stream Lifetimes, CAIDA, UC San Diego and New Zealand Passive and Active Measurements Workshop
Stefano Giordano – ICC Seoul, May TCP Dynamics Real-time Bandwidth Estimation techniques shows clear benefits in long term TCP congestion control (e.g. TCP Vegas, TCP Westwood) Could we use available bandwidth estimation also to improve the transient behavior of TCP connections (duration, packet drop-rate)? TCP mechanism is a loss-driven scheme: –TCP slow-downs (reduces cwnd) when detects a packet loss –cwnd < ssthresh, TCP quickly ramps up to fill up the pipe (Slow-Start) –cwnd > ssthresh, TCP probes for bandwidth (Congestion Avoidance) But, ssthresh is initially set to an arbitrarily large value (e.g. 64KB in many OS implementations)
Stefano Giordano – ICC Seoul, May Improving the TCP Startup Behavior time timeout Early Slow-Start Exit (ESSE) cwnd ssthresh Slow-Start phase congestion window evolution packet losses NewReno Problems: safe choice of ssthresh (bandwidth-delay product estimation) few ACK observations
Stefano Giordano – ICC Seoul, May Related Works J. Hoe, Improving the Start-up Behavior of a Congestion Control Scheme for TCP, in proc. of SIGCOMM, 1996 –First time introduced bandwidth estimation in TCP startup phase and an estimation technique proposed M. Gerla et al. Sender-Side TCP Modifications: An Analytical Study, in proc. of Networking 2002 –An analytical framework to slow-start modification is developed, assessed performance of idealized bandwidth estimators M.Gerla et al., TCP Startup Performance in Large Bandwidth Delay Networks, in proc. of INFOCOM 2003 –Eligible Rate Estimation (ERE) from ACK streams using an adaptive scheme
Stefano Giordano – ICC Seoul, May How to select the slow-start threshold ? The ssthresh setting should be the right tradeoff between: –too low values: TCP connections prematurely switch in congestion avoidance –too high values: congestion window overfeeds the pipe A reasonable choice of ssthresh should be close to the bandwidth-delay product (maximizing overall network performance). It can be generally written as: ACK spacing reflects time between two packet transmissions sent back to back at the bottleneck link
Stefano Giordano – ICC Seoul, May Bandwidth Estimation Concept (seconds) The shadow region encloses estimation values as: Algorithm robustness is investigated by considering extreme cases pipesize(RTT,Δt) packet spacing (packets) RTT max RTT min TCP cross traffic
Stefano Giordano – ICC Seoul, May Estimator Implementation (1) The four considered worst-cases can be approximated at real-time: The number of ACK (N=5) for the estimation is a critical parameter; it should be chosen as a compromise between speed and accuracy when no ACK compression is present
Stefano Giordano – ICC Seoul, May Estimator Implementation (2) nameestimator MinMin MaxMin MinMed MaxMed pipesize packet spacing (packets) (seconds) RTT min RTT max MinMin MaxMin MaxMed MinMed
Stefano Giordano – ICC Seoul, May Sender Side Algorithm Implementation issues: –The ACK counter is set to zero at the beginning of connection and when a timeout expires –The ssthresh is maintained larger than two –Both packet of pair must be together in flight for ACK spacing to be considered ACK received DupAck? no t estimation k = k+1 k = N? yes ssthresh = pipesize no yes slow start ACK 1 ACK 2 NEWRENO ACK 3 ACK 4
Stefano Giordano – ICC Seoul, May Simulative Reference Topology R1R2 S1 Sn S2 H1 Hm H2 Bottleneck link 1Mbps, 20ms Access Links 10Mbps, 5ms New TCP connections are scheduled according to a Poisson process Disturb Traffic (along reverse path) is a Poissonan Arrival of Bursts process (LRD process) Drop-Tail, RED buffer TCP sources TCP receivers conn. length40pkt/conn packet size1000B Buffer size20pkts RTT60ms
Stefano Giordano – ICC Seoul, May Performance Evaluation (1) Loss Probability at Bottleneck Average Completion Time No disturb traffic along reverse bottleneck Reducing drastically the drop-rate at the bottleneck, ESSE shows a lower aggressiveness in control mechanism
Stefano Giordano – ICC Seoul, May Characteristics of Pipesize Estimators maxmin minmin maxmed minmed conservative estimation pipesize minmin maxmin maxmed minmed spacing
Stefano Giordano – ICC Seoul, May Performance Evaluation (2) Loss Probability at Bottleneck Average Completion Time The reverse bottleneck buffer is congested (50% total link capacity)
Stefano Giordano – ICC Seoul, May Sensitivity to Network Parameters Round Trip DelayBuffer For small pipesize (buffesize) NR aggressively saturate network resources resulting in poor performance
Stefano Giordano – ICC Seoul, May Fairness & Friendliness (1) Jains Fairness Index: x i = i-th connection duration fair unfair
Stefano Giordano – ICC Seoul, May Fairness & Friendliness (2) Traffic Mix MaxMin completion time MaxMed completion time MinMin completion time MinMed completion time ESSENRESSENRESSENRESSENRESSENR 80%20% %40% %60% %80% ESSE impact on mice traffic (70% loaded bottleneck) in a mix NewReno and ESSE-modified connections The presence of ESSE modified traffic has a beneficial impact on the average completion time of TCP NR connections
Stefano Giordano – ICC Seoul, May Fairness & Friendliness (3) ESSE impact on TCP steady-state (elephant connections) –Single connection throughput when TCP shares with homogeneous Newreno and ESSE modified flows.
Stefano Giordano – ICC Seoul, May Conclusions Primary focus on TCP startup mechanism (wide-area Internet connection is the superposition of many short-lived flows) The design of pipesize estimator (defined as the ratio between RTT and packet spacing) consider the worst cases Results: speeding up TCP connections, drastically reducing the drop-rate at the bottleneck ESSE modified TCP shows fairness among homogeneous connection and friendliness towards (NewReno) heterogeneous flows.