Top Banner
Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas Inc. Solving TCP Incast (and more) With Aggressive TCP Timeouts PDL Retreat 2009
40

Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

Jan 20, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat

David Andersen, Greg Ganger, Garth Gibson, Brian Mueller*

Carnegie Mellon University, *Panasas Inc.

Solving TCP Incast (and more) With Aggressive TCP Timeouts

PDL Retreat 2009

Page 2: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

2

Cluster-based Storage Systems

ClientCommodity

EthernetSwitch

Servers

Ethernet: 1-10Gbps

Round Trip Time (RTT): 100-10us

Page 3: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

3

Cluster-based Storage Systems

Client Switch

Storage Servers

RR

RR

1

2

Data Block

Server Request Unit(SRU)

3

4

Synchronized Read

Client now sendsnext batch of requests

1 2 3 4

Page 4: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

4

Synchronized Read Setup

• Test on an Ethernet-based storage cluster

• Client performs synchronized reads

• Increase # of servers involved in transfer• Data block size is fixed (FS read)

• TCP used as the data transfer protocol

Page 5: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

5

TCP Throughput Collapse

Collapse!

Cluster Setup

1Gbps Ethernet

Unmodified TCP

S50 Switch

1MB Block Size

• TCP Incast• Cause of throughput collapse:

coarse-grained TCP timeouts

Page 6: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

6

Solution: µsecond TCP + no minRTO

more servers

High throughput for up to 47 servers

Simulation scales to thousands of servers

Throughput(Mbps)

Unmodified TCP

Our solution

Page 7: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

7

Overview

• Problem: Coarse-grained TCP timeouts (200ms) too expensive for datacenter applications

• Solution: microsecond granularity timeouts• Improves datacenter app throughput & latency• Also safe for use in the wide-area (Internet)

Page 8: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

8

Outline• Overview

Why are TCP timeouts expensive?

• How do coarse-grained timeouts affect apps?

• Solution: Microsecond TCP Retransmissions

• Is the solution safe?

Page 9: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

9

TCP: data-driven loss recovery

Sender Receiver

123

4

5

Ack 1

Ack 1

Ack 1

Ack 1

3 duplicate ACKs for 1(packet 2 is probably lost)

2

Seq #

Retransmit packet 2 immediately Ack 5

In datacentersdata-driven recovery in µsecs after

loss.

Page 10: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

10

TCP: timeout-driven loss recovery

Sender Receiver

123

4

5

1

RetransmissionTimeout(RTO)

Ack 1

Seq #

Timeouts are expensive (msecs to recover after loss)

Retransmit packet

Page 11: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

11

TCP: Loss recovery comparison

Sender Receiver

12345

Ack 1

Ack 1Ack 1Ack 1

Retransmit 2

Seq #

Ack 5

Sender Receiver

123

4

5

1

RetransmissionTimeout(RTO)

Ack 1

Seq #

Timeout driven recovery is slow (ms)

Data-driven recovery issuper fast (µs) in datacenters

Page 12: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

12

RTO Estimation and Minimum Bound

• Jacobson’s TCP RTO Estimator• RTOEstimated = SRTT + (4 * RTTVAR)

• Actual RTO = max(minRTO, RTOEstimated)

• Minimum RTO bound (minRTO) = 200ms• TCP timer granularity• Safety (Allman99)• minRTO (200ms) >> Datacenter RTT (100µs)• 1 TCP Timeout lasts 1000 datacenter RTTs!

Page 13: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

13

Outline• Overview

• Why are TCP timeouts expensive?

How do coarse-grained timeouts affect apps?

• Solution: Microsecond TCP Retransmissions

• Is the solution safe?

Page 14: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

14

Single Flow TCP Request-Response

Client Switch Server

DataData Data

timeRequest sent

R

Response sent

Response dropped

Response resent

200ms

Page 15: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

15

Apps Sensitive to 200ms Timeouts

• Single flow request-response• Latency-sensitive applications

• Barrier-Synchronized workloads• Parallel Cluster File Systems

– Throughput-intensive• Search: multi-server queries

– Latency-sensitive

Page 16: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

16

Link Idle Time Due To Timeouts

Client Switch

RR

RR

1

2

3

4

Synchronized Read

4

1 2 3 4 Server Request Unit(SRU)

time

Req. sent

Rsp. sent

4 dropped Response resent1 – 3 done Link Idle!

Page 17: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

17

Client Link Utilization

200ms

Link Idle!

Page 18: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

18

200ms timeouts Throughput Collapse

• [Nagle04] called this Incast• Provided application level solutions• Cause of throughput collapse: TCP timeouts

• [FAST08] Search for network level solutions to TCP Incast

Collapse!

Cluster Setup

1Gbps Ethernet

200ms minRTO

S50 Switch

1MB Block Size

Page 19: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

19

Results from our previous work (FAST08)Network Level Solutions Results / Conclusions

Increase Switch Buffer Size Delays throughput collapse Throughput collapse inevitable Expensive

Page 20: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

20

Results from our previous work (FAST08)Network Level Solutions Results / Conclusions

Increase Switch Buffer Size Delays throughput collapse Throughput collapse inevitable Expensive

Alternate TCP Implementations (avoiding timeouts, aggressive data-driven recovery, disable slow start)

Throughput collapse inevitable because timeouts are inevitable (complete window loss a common case)

Page 21: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

21

Results from our previous work (FAST08)Network Level Solutions Results / Conclusions

Increase Switch Buffer Size Delays throughput collapse Throughput collapse inevitable Expensive

Alternate TCP Implementations (avoiding timeouts, aggressive data-driven recovery, disable slow start)

Throughput collapse inevitable because timeouts are inevitable (complete window loss a common case)

Ethernet Flow Control Effective Limited effectiveness (works for

simple topologies) head-of-line blocking

Page 22: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

22

Results from our previous work (FAST08)Network Level Solutions Results / Conclusions

Increase Switch Buffer Size Delays throughput collapse Throughput collapse inevitable Expensive

Alternate TCP Implementations (avoiding timeouts, aggressive data-driven recovery, disable slow start)

Throughput collapse inevitable because timeouts are inevitable (complete window loss a common case)

Ethernet Flow Control Effective Limited effectiveness (works for

simple topologies) head-of-line blocking

Reducing minRTO (in simulation) Very effective Implementation concerns (µs

timers for OS, TCP) Safety concerns

Page 23: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

23

Outline• Overview

• Why are TCP timeouts expensive?

• How do coarse-grained timeouts affect apps?

Solution: Microsecond TCP Retransmissions• and eliminate minRTO

• Is the solution safe?

Page 24: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

24

µsecond Retransmission Timeouts (RTO)

RTO = max( minRTO, f(RTT) )

200ms

200µs?

0?

RTT tracked in milliseconds

Track RTT in µsecond

Page 25: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

25

Lowering minRTO to 1ms

• Lower minRTO to as low a value as possible without changing timers/TCP impl.

• Simple one-line change to Linux

• Uses low-resolution 1ms kernel timers

Page 26: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

26

Default minRTO: Throughput Collapse

Unmodified TCP(200ms minRTO)

Page 27: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

27

Lowering minRTO to 1ms helps

Millisecond retransmissions are not enough

Unmodified TCP(200ms minRTO)

1ms minRTO

Page 28: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

28

Requirements for µsecond RTO

• TCP must track RTT in microseconds• Modify internal data structures• Reuse timestamp option

• Efficient high-resolution kernel timers• Use HPET for efficient interrupt signaling

Page 29: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

29

Solution: µsecond TCP + no minRTO

Unmodified TCP(200ms minRTO)

more servers

1ms minRTO

microsecond TCP+ no minRTO

High throughput for up to 47 servers

Page 30: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

30

Simulation: Scaling to thousands

Block Size = 80MB, Buffer = 32KB, RTT = 20us

Page 31: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

31

Synchronized Retransmissions At Scale

Simultaneous retransmissions successive timeouts

Successive RTO = RTO * 2backoff

Page 32: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

32

Simulation: Scaling to thousands

Desynchronize retransmissions to scale further

Successive RTO = (RTO + (rand(0.5)*RTO) ) * 2backoff

For use within datacenters only

Page 33: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

33

Outline• Overview

• Why are TCP timeouts expensive?

• The Incast Workload

• Solution: Microsecond TCP Retransmissions

Is the solution safe?• Interaction with Delayed-ACK within datacenters• Performance in the wide-area

Page 34: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

34

Delayed-ACK (for RTO > 40ms)

Delayed-Ack: Optimization to reduce #ACKs sent

Seq #

Sender Receiver

1

Ack 1

40ms

Sender Receiver

1

Ack 2

Seq #

2

Sender Receiver

1

Ack 0

Seq #

2

Page 35: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

35

µsecond RTO and Delayed-ACK

Premature TimeoutRTO on sender triggers before Delayed-ACK on receiver

Sender Receiver

1

Ack 1

Seq #

1

RTO < 40ms

TimeoutRetransmit packet

Seq #

Sender Receiver

1

Ack 1

40ms

RTO > 40ms

Page 36: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

36

Impact of Delayed-ACK

Page 37: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

37

Is it safe for the wide-area?

• Stability: Could we cause congestion collapse?• No: Wide-area RTOs are in 10s, 100s of ms• No: Timeouts result in rediscovering link capacity

(slow down the rate of transfer)

• Performance: Do we timeout unnecessarily?• [Allman99] Reducing minRTO increases the chance

of premature timeouts– Premature timeouts slow transfer rate

• Today: detect and recover from premature timeouts• Wide-area experiments to determine performance

impact

Page 38: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

38

Wide-area Experiment

Do microsecond timeouts harm wide-area throughput?

Microsecond TCP+

No minRTO

Standard TCP

BitTorrent Seeds

BitTorrent Clients

Page 39: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

39

Wide-area Experiment: Results

No noticeable difference in throughput

Page 40: Vijay Vasudevan, Amar Phanishayee, Hiral Shah, Elie Krevat David Andersen, Greg Ganger, Garth Gibson, Brian Mueller* Carnegie Mellon University, *Panasas.

40

Conclusion

• Microsecond granularity TCP timeouts (with no minRTO) improve datacenter application response time and throughput

• Safe for wide-area communication

• Linux patch: http://www.cs.cmu.edu/~vrv/incast/

• Code (simulation, cluster) and scripts: http://www.cs.cmu.edu/~amarp/dist/incast/incast_1.1.tar.gz