high-speed tcp fast tcp: motivation, architecture, algorithms, performance (by cheng jin, david x....

34
High-speed TCP FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low) Modifying TCP's Congestion Control for High Speeds (by S. Floyd, S. Ratnasamy, and S. Shenker) Scalable TCP: Improving Performance in High-Speed WAN (by Tom Kelly)

Upload: milo-sullivan

Post on 13-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

High-speed TCP

FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)

Modifying TCP's Congestion Control for High Speeds (by S. Floyd, S. Ratnasamy, and S. Shenker)

Scalable TCP: Improving Performance in High-Speed WAN (by Tom Kelly)

Page 2: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

Problem with TCP

Sending rate: T = 1.2 / sqrt(p) packets per rtt where p is packet loss rate Example:

1500bytes packet, 100ms rtt, 10Gbp pipe require window size W = 83,333 packets at most 1 drop every 5,000,000,000 packets at most 1 drop every 6000 seconds W = sqrt(1.5) / sqrt(p); N = W2 / 1.5

Real drop rate makes TCP a bottleneck which leads to poor network utilization

Page 3: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

Problem with TCP

AIMD ACK: w = w + a / w (each rtt) Drop: w = w – b * w Slow – StartACK: w = w + c

where a = 1, b = 0.5, c = 1 TCP steady state response function

Page 4: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Goals

Performance Sustain high speeds without requiring

unrealistically low loss rates

Reach high speeds reasonably quickly in when slow start

Recover from congestion without huge delays

Page 5: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Goals

Compatibility Deployment without router involvement

Fair treatment of unmodified TCP (unrealistic)

Fair treatment of unmodified TCP: original TCP get as much bandwidth as if packet loss rate is very small

Page 6: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Approach

Leave slow start phase as it is Needs only 17 rtt make W = 83333 packets

Change response function by tweaking parameters: a and b Same for p > P = 0.0015 (W = 31) For smaller p treat a and b as functions of

current window size

Page 7: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Response function

Suggestion of new RF to reach high speed: w = 10S(logp-lopP)+logW for S = (logW1 – logW) / (logP1 – logP) gives

w = pS * (1 / P)S * W

For two points (P, W) … (P1, W1) P = 0.0015, W = 31 P1 = 10-7, W1 = 83000

w = 0.15 / p0.82

Page 8: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Response function

Page 9: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Fairness

Page 10: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Tweaking of a and b

For w <= W: a(w) = 1; b(w) = 0.5 For w > W need such a(w) and b(w) that

w() gives: p(W) = P, p(W1) = P1

Page 11: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP: Testing

Not available

Page 12: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Scalable TCP

Same goals More aggressive increase Less aggressive decrease Fair treatment of unmodified TCP

Approach ACK: W = W + 0.01 (each ACK) Drop: W = W – [0.125 * W]

Doubles sending rate in about 70rtt

Page 13: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Scaling properties

• In original TCP scaling depends on sending rate

Sending rate = c < Sending rate = C

Page 14: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Scaling properties

• In Scalable TCP there is no such dependence

Sending rate = c < Sending rate = C

Page 15: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Response function

For P > 0.00586 (W=15) native TCP function is used

Page 16: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Scaling properties

Rate TCP recovery time STCP recovery time

1Mbps 1.7s 2.7s

10Mbps 17s 2.7s

100Mbps 2mins 2.7s

1Gbps 28mins 2.7s

10Gbps 4hrs 43mins 2.7s

Environment: 1500 bytes packet, 200ms rtt

Page 17: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Experiments

Implemented in Linux kernel version 2.14.19 Competitors: TCP, TCPGB modifications, STCP Topology and environment

• 2.4Gz Xeon• 2Gb RAM• Gigabit Ethernet card

x 12

Page 18: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Experiments

Experiment #1 4 pairs of 2Gb file exchangers

Number of 2Gb transfers completed in 1200 sec

Page 19: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

STCP: Experiments

Experiment #2 3 pairs of Web-Traffic emulators (1400 users each) 2 pairs of 2Gb file exchangers

Concurrent run of 4200 web users and 8 bulk transfers within 1200 sec

Page 20: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

Problems with TCP

1. Packet level: AIMD provides slow increase and drastic decrease

2. Flow level: Maintaining large congestion windows requires small equilibrium loss probability

3. Packet level: Binary congestion measure leads to oscillation

4. Flow level: Dynamics is unstable. Resulting oscillations can be reduced only by accurate estimation of packet loss probability and stable design of flow dynamics

Page 21: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

HSTCP and STCP vs TCP Reno

HSTCP and STC increase more aggressively and decrease less drastically so they can tolerate larger

loss probabilities than TCP Reno therefore achieve larger equilibrium windows and solve problems 1 and 2

Page 22: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

TCP Oscillations

Loss based approach

Full utilization – large delays and oscillations

Delay based approach

Full utilization – stabilized window, predictable delays and no oscillations

Page 23: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Strategy

Window adjustment depends on distance from equilibrium

Use queueing delay as congestion measure Multi-bit measure eliminates packet level

oscillations Stabilize window near the point where buffer is

large and delay is small Stabilizes flow dynamics since queueing delay

dynamics scales with respect to network capacity

Page 24: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Window adjustment

Window adjustment is independent of where equilibrium is

Page 25: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Design

Feedback model:

Flow level: design such u(wi, Ti) and k(wi, Ti) that feedback model above has an equilibrium fair, efficient, and stable in presence of feedback delay

Packet level: take care of issues ignored by flow level such as burstiness control, loss recovery and parameter estimation

Page 26: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Architecture

Data control – which packets to transmit Window control – how many Burstiness control – when

Estimation – provides information to above components

Page 27: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Window update

Where:gamma is in (0, 1]

baseRTT is a minimum RTT observed so far

qdelay is the average end-to-end queueing delay

alpha is a constant reflecting # of packets each flow attempts to maintain in network buffer at equilibrium. Provides linear window increase. However it can be constant when qdelay is nonzero. When qdelay is zero increase is exponential

Window is updated every 2RTT

Page 28: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Events and computations

Acknowledgement Qdelay Decision about packet injection into the network

After packet transmission Time stamp for each packet New window size

End of RTT Target throughput

Packet loss When to retransmit dropped packets

Page 29: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Performance

Testbed and instrumentation 2.6 GHz Xeon, 2GB RAM Dual onboard gigabit Ethernet interface Network bottleneck capacity 800Mbps and 2000pkts buffer

Environment Static and 2 types of dynamic

Page 30: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Static test

X - # of flows, Y - propagation delay, Z – aggregate throughput

Page 31: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Dynamic test #1

Throughput and window trajectory

Queue size, packet losses, link utilization

Page 32: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Dynamic test #2

Throughput and window trajectory

Queue size, packet losses, link utilization

Page 33: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Overall evaluation

Throughput Fairness

Page 34: High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion

FAST TCP: Overall evaluation

Stability Responsiveness