virtualized congestion control
play

Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran - PowerPoint PPT Presentation

Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik, Madhusudhan Ravi, Nick McKeown, Ittai Abraham, Isaac Keslassy 1 1 2 Multitenant Datacenters Tenants choose Congestion Control Enterprise Datacenters


  1. Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik, Madhusudhan Ravi, Nick McKeown, Ittai Abraham, Isaac Keslassy 1 1

  2. 2

  3. Multitenant Datacenters Tenants choose Congestion Control Enterprise Datacenters Can’t upgrade legacy applications 3

  4. adapted from Judd, NSDI ‘15 10 CUBIC DCTCP 8 Throughput (Gbps) 6 4 2 0 0 5 10 15 20 Time (seconds) 4

  5. Multitenant & New Congestion Enterprise Datacenters Control Algorithms pFabric X Timely DCTCP

  6. Illinois Tahoe Vegas Cubic NewReno Reno MP-TCP CANIT TFRC Scalable General Agile-SD TCP Hybla Zeta Translation FAST Westwood+ System Indy BIC YeAH Jersey FIT Veno XCP Real pFabric Compound Timely H-TCP LP HSTCP DCTCP 6

  7. 7

  8. VM VM VM VM Updatable & Hypervisor Hypervisor Easy to reconfigure Datacenter Network 8

  9. VM VM VM VM Hypervisor Hypervisor Datacenter Network 9

  10. VM VM VM VM Overlay CC Hypervisor Hypervisor Underlay CC Datacenter Network 10

  11. VM VM VM VM Hypervisor Hypervisor Datacenter Network 11

  12. Guest Introspection VM Guest VM VM Memory Hypervisor 12

  13. TCP Header Modification SYN SACK: VM VM 0 Hypervisor vSwitch SYN SACK: 1 13

  14. Buffering VM VM Hypervisor vSwitch SYN SYN SACK: SACK: Buffer 0 0 14

  15. Fake ACKs SEQ: SEQ: VM VM 41 42 Hypervisor vSwitch ACK SEQ: 41 15

  16. TCP Proxy VM VM Hypervisor vSwitch TCP Proxy ACK ACK SYN 16

  17. vCC Flow Modification Techniques • Guest Introspection • Buffering • TCP Header Modification • Fake ACK generation • TCP Proxy 17

  18. 18

  19. legacy upgraded upgraded upgraded 19

  20. 20

  21. 21

  22. 120 100 ECN 80 Goodput (Mbps) non-ECN 60 40 20 0 0 10 20 30 Seconds 22

  23. 3 Dropped Non- ECN 2 Marked ECN CE RED MIN 1 Queued Non- ECN 23

  24. All Packets Dropped ECN Marked & non- ECN Dropped All Packets Queued 24

  25. Sender Bottleneck Link ECN ECN ECN ECN ECN ECN translated to ECN non-ECN Receiver 25

  26. vCC Virtualized Congestion Control 26

  27. VM VM VM VM Hypervisor Hypervisor Datacenter Network 27

  28. VM SSTHRESH: 4 CWND: 2 SYN SND_WND: 2 SSTHRESH: Slow Start Threshold CWND: Congestion Window SND_WND: Send Window Hypervisor SYN SSTHRESH: 4 ECE CWND: 2 CWR SND_WND: 2 28

  29. VM SSTHRESH: 4 CWND: 2 SND_WND: 2 Hypervisor SSTHRESH: 4 ECT CWND: 2 SND_WND: 2 29

  30. VM SSTHRESH: SSTHRESH: 4 4 CWND: CWND: 3 2 SND_WND: SND_WND: 3 2 Hypervisor SSTHRESH: SSTHRESH: 4 4 CWND: CWND: 3 2 SND_WND: SND_WND: 3 2 30

  31. VM SSTHRESH: SSTHRESH: 10 10 CWND: CWND: 30 30 SND_WND: SND_WND: 30 15 Hypervisor SSTHRESH: SSTHRESH: 10 10 CWND: CWND: 15 30 RWIN: 15 SND_WND: SND_WND: 15 30 31

  32. VM SSTHRESH: 10 CWND: 30 SND_WND: 15 Hypervisor SSTHRESH: 10 CWR CWND: 15 SND_WND: 15 32

  33. VM SSTHRESH: SSTHRESH: 10 10 CWND: CWND: 30 31 SND_WND: SND_WND: 15 16 Hypervisor SSTHRESH: SSTHRESH: 10 10 CWND: CWND: 16 15 RWIN: 16 SND_WND: SND_WND: 16 15 33

  34. 1.4 Goodput (Mbps) 1.0 0.6 0.2 0 0 10 20 30 Seconds 34

  35. Native vCC 100 100 Congestion Window (KB) Send Window (KB) 80 80 60 60 40 40 20 20 0 2 4 6 8 10 12 0 2 4 6 8 10 12 Seconds Seconds 35

  36. 36

  37. 37

  38. VM VM App2 App1 App1 App2 Hypervisor Hypervisor Datacenter Network 38

  39. VM App1 App2 Hypervisor App1 App2 vCC vCC Module Module 39

  40. Throughput (% link capacity) 100 80 Unpreferred Preferred 60 Unpreferred 40 Preferred 20 Unpreferred 0 0 10 20 30 Time (seconds) 40

  41. Illinois Tahoe Vegas Cubic NewReno Reno MP-TCP CANIT TFRC Scalable General Agile-SD TCP Hybla Zeta Translation FAST Westwood+ System Indy BIC YeAH Jersey FIT Veno XCP Real pFabric Compound Timely H-TCP LP HSTCP DCTCP 41

  42. 42

  43. ECN Experiments in this Presentation: Linux 3.19 mininet testbed vCC implemented as a kernel patch Public vCC Code: Linux patch and mininet test suite available on Github Public Code and Extended Paper: http://webee.technion.ac.il/~isaac/vcc/ Our Paper: ECN unfairness, virtual-ECN vCC, ESX app-level throttling vCC, technique survey, future implementation analysis 43

  44. Thank You! 44

  45. vCC Virtualized Congestion Control Translate between Congestion Control Algorithms in the Hypervisor in order to •Achieve uniform congestion control in multitenant and enterprise datacenters •Programatically assign congestion control to fine-grained flow signatures •Simplify rollout of new congestion control algorithms 45

Recommend


More recommend