22
Fixing TCP in Datacenters Costin Raiciu Advanced Topics in Distributed Systems 2011

Fixing TCP in Datacenters

  • Upload
    binta

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Fixing TCP in Datacenters. Costin Raiciu Advanced Topics in Distributed Systems 2011. TCP Primer. Loss recovery Fast retransmit Timeouts Congestion Control Buffer sizing. TCP Incast. Why does it happen? How bad is it?. - PowerPoint PPT Presentation

Citation preview

Page 1: Fixing TCP in Datacenters

Fixing TCP in Datacenters

Costin RaiciuAdvanced Topics in Distributed Systems

2011

Page 2: Fixing TCP in Datacenters

TCP Primer

• Loss recovery– Fast retransmit– Timeouts

• Congestion Control• Buffer sizing

Page 3: Fixing TCP in Datacenters

TCP Incast

• Why does it happen?• How bad is it?

Page 4: Fixing TCP in Datacenters

TCP Incast Kills ThroughputLab Setup, Artifical Synchronization

Page 5: Fixing TCP in Datacenters

A datacenter example

Page 6: Fixing TCP in Datacenters

How can we fix it?

• Application level– Add jitter– Reduce response size– Use aggregation

Page 7: Fixing TCP in Datacenters

Jitter increases mean delay

Page 8: Fixing TCP in Datacenters

Fixing Incast at the Transport Layer

• Quickly recover after timeouts

• Or just avoid the timeouts

Page 9: Fixing TCP in Datacenters

Quickly recover the timeouts

• Remove RTOmin bound • Millisecond or lower time resolution• A whole paper about this in Sigcomm 2009– But is this enough?

Page 10: Fixing TCP in Datacenters

Fixing Incast at Lower Layers

• Add more buffering to switches?– Expensive

• Add shared buffering?

Page 11: Fixing TCP in Datacenters

Datacenter Traffic

Page 12: Fixing TCP in Datacenters

Datacenter Traffic (2)

Page 13: Fixing TCP in Datacenters

DCTCP

• Want to be robust to incast• Want to avoid interference between short and

long flows• Want to avoid buffer pressure

• We can do all this with small buffer usage

Page 14: Fixing TCP in Datacenters

How might we do that?

• TCP shouldn’t blow out the buffer– Use delay?

Page 15: Fixing TCP in Datacenters

How might we do that?

• TCP shouldn’t blow out the buffer– Use delay?

• Explicit Congestion Notification in switches– Switches tell you when to back off

Page 16: Fixing TCP in Datacenters

How might we do that?

• TCP shouldn’t blow out the buffer– Use delay?

• Explicit Congestion Notification in switches– Switches tell you when to back off

• But TCP will underutilize the network if CWND<2*BDP

Page 17: Fixing TCP in Datacenters

DCTCP

• Find out alpha fraction of packets that saw congestion

• Set cwnd = cwnd * (1-alpha/2)• Alpha is estimated using ECN signals– EWMA

Page 18: Fixing TCP in Datacenters

DCTCP Convergence

• Consider what happens when a new connections starts

• How long does it take to reach equilibrium?– With TCP?– With DCTCP?

Page 19: Fixing TCP in Datacenters

Conclusions

• TCP is heavily used in DCs– But sometimes its not ideal

• Simple changes can fix its shortcomings• The same problem (incast) can be fixed at

many layers

Page 20: Fixing TCP in Datacenters

Your Presentations

• Read your article very carefully, several times• Tried to understand the “gist” of it– What differentiates it from previous work– What is good about it– What is less good

• Did they achieve their goals?• How would you design a solution to their

problem?

Page 21: Fixing TCP in Datacenters

Your Slides

• Aim for 40-50 slides at most• Include as many animations as you can• Rehearse presentation at home a few times• Do not overcrowd your slides– 2-4 bullets per slide are ideal– Anything more is difficult to read

Page 22: Fixing TCP in Datacenters

Do NOT

• Add outline slides very often (or at all)• Add a blank “Thank you” or “Questions” last

slide – Always finish your talk on a slide with content

• Read from slides• Stare at the screen• Put everything you have to say on the slide