220 likes | 307 Views
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?.
E N D
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?
TCP Incast Kills ThroughputLab Setup, Artifical Synchronization
How can we fix it? • Application level • Add jitter • Reduce response size • Use aggregation
Fixing Incast at the Transport Layer • Quickly recover after timeouts • Or just avoid the timeouts
Quickly recover the timeouts • Remove RTOminbound • Millisecond or lower time resolution • A whole paper about this in Sigcomm 2009 • But is this enough?
Fixing Incast at Lower Layers • Add more buffering to switches? • Expensive • Add shared buffering?
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
How might we do that? • TCP shouldn’t blow out the buffer • Use delay?
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
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
DCTCP • Find out alpha fraction of packets that saw congestion • Set cwnd = cwnd * (1-alpha/2) • Alpha is estimated using ECN signals • EWMA
DCTCP Convergence • Consider what happens when a new connections starts • How long does it take to reach equilibrium? • With TCP? • With DCTCP?
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
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?
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
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