Download pptx - Fixing TCP in Datacenters

Transcript
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


Recommended