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 Can’t upgrade legacy applications 3
adapted from Judd, NSDI ‘15 10 CUBIC DCTCP 8 Throughput (Gbps) 6 4 2 0 0 5 10 15 20 Time (seconds) 4
Multitenant & New Congestion Enterprise Datacenters Control Algorithms pFabric X Timely DCTCP
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
VM VM VM VM Updatable & Hypervisor Hypervisor Easy to reconfigure Datacenter Network 8
VM VM VM VM Hypervisor Hypervisor Datacenter Network 9
VM VM VM VM Overlay CC Hypervisor Hypervisor Underlay CC Datacenter Network 10
VM VM VM VM Hypervisor Hypervisor Datacenter Network 11
Guest Introspection VM Guest VM VM Memory Hypervisor 12
TCP Header Modification SYN SACK: VM VM 0 Hypervisor vSwitch SYN SACK: 1 13
Buffering VM VM Hypervisor vSwitch SYN SYN SACK: SACK: Buffer 0 0 14
Fake ACKs SEQ: SEQ: VM VM 41 42 Hypervisor vSwitch ACK SEQ: 41 15
TCP Proxy VM VM Hypervisor vSwitch TCP Proxy ACK ACK SYN 16
vCC Flow Modification Techniques • Guest Introspection • Buffering • TCP Header Modification • Fake ACK generation • TCP Proxy 17
18
legacy upgraded upgraded upgraded 19
20
21
120 100 ECN 80 Goodput (Mbps) non-ECN 60 40 20 0 0 10 20 30 Seconds 22
3 Dropped Non- ECN 2 Marked ECN CE RED MIN 1 Queued Non- ECN 23
All Packets Dropped ECN Marked & non- ECN Dropped All Packets Queued 24
Sender Bottleneck Link ECN ECN ECN ECN ECN ECN translated to ECN non-ECN Receiver 25
vCC Virtualized Congestion Control 26
VM VM VM VM Hypervisor Hypervisor Datacenter Network 27
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
VM SSTHRESH: 4 CWND: 2 SND_WND: 2 Hypervisor SSTHRESH: 4 ECT CWND: 2 SND_WND: 2 29
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
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
VM SSTHRESH: 10 CWND: 30 SND_WND: 15 Hypervisor SSTHRESH: 10 CWR CWND: 15 SND_WND: 15 32
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
1.4 Goodput (Mbps) 1.0 0.6 0.2 0 0 10 20 30 Seconds 34
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
37
VM VM App2 App1 App1 App2 Hypervisor Hypervisor Datacenter Network 38
VM App1 App2 Hypervisor App1 App2 vCC vCC Module Module 39
Throughput (% link capacity) 100 80 Unpreferred Preferred 60 Unpreferred 40 Preferred 20 Unpreferred 0 0 10 20 30 Time (seconds) 40
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
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
Thank You! 44
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