Removing Exponential Backoff from TCP

29
Removing Exponential Backoff from TCP Amit Mondal Aleksandar Kuzmanovic EECS Department Northwestern University http:// networks.cs.northwestern.edu

description

Removing Exponential Backoff from TCP. Amit Mondal Aleksandar Kuzmanovic EECS Department Northwestern University. http://networks.cs.northwestern.edu. TCP Congestion Control. Slow-start phase Double the sending ... ... rate each round-trip ... time - PowerPoint PPT Presentation

Transcript of Removing Exponential Backoff from TCP

Page 1: Removing Exponential Backoff from TCP

Removing Exponential Backoff from TCP

Amit Mondal

Aleksandar Kuzmanovic

EECS Department

Northwestern University

http://networks.cs.northwestern.edu

Page 2: Removing Exponential Backoff from TCP

2 A. Mondal Removing Exponential Backoff from TCP

Se

nd

ing

Ra

te

T ime

packet loss• Slow-start phase • Double the sending ... ... rate each round-trip ... time • Reach high throughput ...quickly

TCP Congestion Control

Page 3: Removing Exponential Backoff from TCP

3 A. Mondal Removing Exponential Backoff from TCP

TCP Congestion ControlS

en

din

g R

ate

T ime

packet loss

• Additive Increase – ...Multiplicative Decrease • Fairness among flows

Page 4: Removing Exponential Backoff from TCP

4 A. Mondal Removing Exponential Backoff from TCP

TCP Congestion ControlS

en

din

g R

ate

T ime

packet loss

• Exponential•.backoff• System stability

Page 5: Removing Exponential Backoff from TCP

5 A. Mondal Removing Exponential Backoff from TCP

Our breakthroughS

en

din

g R

ate

T ime

packet loss

• Exponential backoff• fundamentally wrong!

Page 6: Removing Exponential Backoff from TCP

6 A. Mondal Removing Exponential Backoff from TCP

Contribution

Untangle retransmit timer backoff mechanism

Challenge the need of exponential backoff in TCP

Demonstrate exponential backoff can be removed from TCP without causing congestion collapse

Incrementally deployable two-step task

Page 7: Removing Exponential Backoff from TCP

7 A. Mondal Removing Exponential Backoff from TCP

Implications

Dramatically improve performance of short-lived and interactive applications

Increase TCP's resiliency against low-rate (shrew attack) and high-rate (bandwidth flooding) DoS attack

Other impacts

Page 8: Removing Exponential Backoff from TCP

8 A. Mondal Removing Exponential Backoff from TCP

Background

Origin on RTO backoff

Adopted from classical Ethernet protocol– IP gateway similar to 'ether' in shared-medium Ethernet

network

Exponential backoff is essential for Internet stability– "an unstable system (a network subject to random load

shocks and prone to congestion collapse) can be stabilized by adding some exponential damping (exponential timer backoff) to its primary excitation (senders, traffic sources)“ [Jacobson88]

Page 9: Removing Exponential Backoff from TCP

9 A. Mondal Removing Exponential Backoff from TCP

Rationale behind revisions

No admission control in the Internet– No bound on number of active flows – Stability results in Ethernet protocol not applicable

IP gateway vs classical Ethernet – Classical Ethernet: Throughput reduces to zero in overloaded

scenarios– IP gateway: Forwards packets at full capacity even in extreme

congested scenarios

Dynamic network environmentFinite flow sizes and skewed traffic distributionIncreased bottleneck capacities

Page 10: Removing Exponential Backoff from TCP

10 A. Mondal Removing Exponential Backoff from TCP

Implicit Packet Conservation Principle

RTO > RTT – Karn-Partridge algorithm and Jacobson's algorithm

ensures this

End-to-end performance cannot suffer if endpoints uphold the principle– Formal proof for single bottleneck case in paper– Extensive evaluation with network testbed

• Single bottleneck• Multiple bottleneck• Complex topologies

Page 11: Removing Exponential Backoff from TCP

11 A. Mondal Removing Exponential Backoff from TCP

Experimental methodology

Testbed– Emulab – 64-bit Intel Xeon machine + FreeBSD 6.1– RTT in 10ms - 200ms– Bottleneck 10Mbps– TCP Sack + RED

Workload– Trace-II: Synthetic HTTP traffic based on empirical distribution– Trace-I : Skewed towards shorter file-size – Trace-III: Skewed towards longer file-size

NS2 simulations

Page 12: Removing Exponential Backoff from TCP

12 A. Mondal Removing Exponential Backoff from TCP

Evaluation

TCP*(n) : sub exponential backoff algorithms– No backoff for first “n”

consecutive timeouts

Impact of RTO backoff mechanism on response time

Impact of minRTO and initRTO on end-to-end performance

Page 13: Removing Exponential Backoff from TCP

13 A. Mondal Removing Exponential Backoff from TCP

Sub-exponential backoff algorithms

Trace-ITrace-IITrace-III

End-to-end performance does not degrade after removing exponential backoff from TCP

Page 14: Removing Exponential Backoff from TCP

14 A. Mondal Removing Exponential Backoff from TCP

Impact of (minRTO, initRTO) parameters

RFC 2988 recommendation– (1.0s, 3.0s)

Current practice– (0.2s, 3.0s)

Aggressive version– (0.2s, 0.2s)

Page 15: Removing Exponential Backoff from TCP

15 A. Mondal Removing Exponential Backoff from TCP

Impact of minRTO and initRTO

TCP

TCP*(3)

TCP*(∞)

Aggressive minRTO and initRTO parameters do not hurt e2e performance as long as endpoints uphold implicit packet conservation principle

Poor performance of (1.0s,3.0s) RTO pair, the CCDF tail is heaviest

Improved performance both for (0.2s, 3.0s) and (0.2s, 02s) pair

Page 16: Removing Exponential Backoff from TCP

16 A. Mondal Removing Exponential Backoff from TCP

Role of bottleneck capacity

TCP*(∞) out performs classical TCP independent of bottleneck capacity

Page 17: Removing Exponential Backoff from TCP

17 A. Mondal Removing Exponential Backoff from TCP

Dynamic environments

ON-OFF flow arrival period

Inter-burst: 50ms – 10s

Page 18: Removing Exponential Backoff from TCP

18 A. Mondal Removing Exponential Backoff from TCP

Dynamic environments

ON-OFF flow arrival period

Inter-burst: 1 sec

Time series of active connections

Page 19: Removing Exponential Backoff from TCP

19 A. Mondal Removing Exponential Backoff from TCP

TCP variants and Queuing disciplines

TCP Tahoe, TCP Reno, TCP Sack

Droptail, RED

The backoff-less TCP stacks outperform regular stacks irrespective of TCP versions and queuing disciplines

Page 20: Removing Exponential Backoff from TCP

20 A. Mondal Removing Exponential Backoff from TCP

Multiple bottlenecks

Dead packets

Topology

Packets that exhaust network resources upstream, but are then dropped downstream

In multiple bottleneck scenario there is a chance that dead packets impact the performance of flows sharing the upstream bottleneck.

We do modeling and extensive experiment to explore such scenarios

R1 R2 R3 R4

S0 C0

S1

C1

S2

C2

L0

L1 L2

p1 p2

Page 21: Removing Exponential Backoff from TCP

21 A. Mondal Removing Exponential Backoff from TCP

Impact on network efficiency

< 5% flows experience multiple bottleneck α = 0.002475 for (1%, 5%) very small

Fraction of dead packet at upstream bottleneck:

Page 22: Removing Exponential Backoff from TCP

22 A. Mondal Removing Exponential Backoff from TCP

Impact on end-to-end performance

What happens if the percent of multiple-bottleneck flows increases dramatically?

What is the impact of backoff-less TCP approach on end-to-end performance in such scenarios?

Emulab experiment– Set L0/(L0+L1)= 0.25 >> current situation

Page 23: Removing Exponential Backoff from TCP

23 A. Mondal Removing Exponential Backoff from TCP

Impact on end-to-end performance

Trace-I

Trace-II

Trace-III

Improves response times distributions of

both set of flows

Multiple-bottlenecked flows improve response times, while upstream single-bottlenecked flows only

marginally degrades response times

Similar result as Trace-II

Multiple-bottlenecked flows improve their response times without causing catastrophic effect other flows even when their presence is significant

Page 24: Removing Exponential Backoff from TCP

24 A. Mondal Removing Exponential Backoff from TCP

Realistic network topologies

Orbis-scaled HOT topology 10 Gbps core link 100 Mbps server edge link 1 – 10Mbps client side link 10ms link delay

Workload HTTP HTTP + P2P

Response times distribution improves in absence of p2p traffic

The improvement is more significant in presence of p2p traffic

Page 25: Removing Exponential Backoff from TCP

25 A. Mondal Removing Exponential Backoff from TCP

Incremental deployment

TCP's performance degrades non-negligibly when present with TCP*(∞)

Two-step Task– TCP to TCP*(3) – TCP*(3) to TCP*(∞)

Page 26: Removing Exponential Backoff from TCP

26 A. Mondal Removing Exponential Backoff from TCP

Summary

Challenged the need of RTO backoff in TCP

End-to-end performance can only improve if endpoints uphold implicit packet conservation principle

Extensive testbed evaluation for single bottleneck and multiple bottleneck scenario, and with complex topologies

Incrementally deployable two-step task

Page 27: Removing Exponential Backoff from TCP

27 A. Mondal Removing Exponential Backoff from TCP

Thank you

Page 28: Removing Exponential Backoff from TCP

28 A. Mondal Removing Exponential Backoff from TCP

Impact of minRTO and initRTO

TCPTCP*(3)TCP*(∞)

Aggressive minRTO and initRTO parameters do not hurt e2e performance as long as endpoints uphold implicit packet conservation principle

Page 29: Removing Exponential Backoff from TCP

29 A. Mondal Removing Exponential Backoff from TCP

Impact of minRTO and initRTO

TCPTCP*(3)TCP*(∞)

Aggressive minRTO and initRTO parameters do not hurt e2e performance as long as endpoints uphold implicit packet conservation principle