1 / 22

Fixing TCP in Datacenters

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?.

binta
Télécharger la présentation

Fixing TCP in Datacenters

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fixing TCP in Datacenters Costin Raiciu Advanced Topics in Distributed Systems 2011

  2. TCP Primer • Loss recovery • Fast retransmit • Timeouts • Congestion Control • Buffer sizing

  3. TCP Incast • Why does it happen? • How bad is it?

  4. TCP Incast Kills ThroughputLab Setup, Artifical Synchronization

  5. A datacenter example

  6. How can we fix it? • Application level • Add jitter • Reduce response size • Use aggregation

  7. Jitter increases mean delay

  8. Fixing Incast at the Transport Layer • Quickly recover after timeouts • Or just avoid the timeouts

  9. Quickly recover the timeouts • Remove RTOminbound • Millisecond or lower time resolution • A whole paper about this in Sigcomm 2009 • But is this enough?

  10. Fixing Incast at Lower Layers • Add more buffering to switches? • Expensive • Add shared buffering?

  11. Datacenter Traffic

  12. Datacenter Traffic (2)

  13. 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

  14. How might we do that? • TCP shouldn’t blow out the buffer • Use delay?

  15. 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

  16. 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

  17. DCTCP • Find out alpha fraction of packets that saw congestion • Set cwnd = cwnd * (1-alpha/2) • Alpha is estimated using ECN signals • EWMA

  18. DCTCP Convergence • Consider what happens when a new connections starts • How long does it take to reach equilibrium? • With TCP? • With DCTCP?

  19. 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

  20. 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?

  21. 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

  22. 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

More Related