Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik
Transcription
Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik
Virtualized Congestion Control Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik, Madhusudhan Ravi, Nick McKeown, Ittai Abraham, Isaac Keslassy 11 2 Multitenant Datacenters Tenants choose Congestion Control Enterprise Datacenters Can’t upgrade legacy applications 3 adapted from Judd, NSDI ‘15 10 CUBIC DCTCP Throughput (Gbps) 8 6 4 2 0 0 5 10 4 (seconds) Time 15 20 Multitenant & Enterprise Datacenters New Congestion Control Algorithms pFabric Timely DCTCP X Illinois Tahoe Cubic NewReno Reno CANIT TFRC Agile-SD Zeta Westwood+ Vegas General TCP Translation System MP-TCP Scalable Hybla FAST Indy BIC YeAH Jersey FIT Veno XCP Compound H-TCP LP pFabric HSTCP 6 Real Timely DCTCP 7 VM VM Hypervisor VM Updatable & Easy to reconfigure Datacenter Network 8 VM Hypervisor VM VM VM Hypervisor VM Hypervisor Datacenter Network 9 VM VM VM VM Overlay CC Hypervisor Hypervisor Underlay CC Datacenter Network 10 VM VM VM Hypervisor VM Hypervisor Datacenter Network 11 Guest Introspection VM Guest VM Memory VM Hypervisor 12 TCP Header Modification SYN VM SACK: 0 VM Hypervisor SYN SACK: 1 13 vSwitch Buffering VM VM Hypervisor SYN SACK: 0 vSwitch Buffer 14 Fake ACKs SEQ: VM 41 42 VM Hypervisor vSwitch ACK SEQ: 41 15 TCP Proxy VM VM Hypervisor vSwitch TCP Proxy 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 Goodput (Mbps) 100 ECN non-ECN 80 60 40 20 0 0 10 20 Seconds 22 30 Dropped 3 NonECN ECN 2 Queued 1 Marked CE RED MIN NonECN 23 All Packets Dropped ECN Marked & nonECN Dropped All Packets Queued 24 Sender Bottleneck Link ECN ECN ECN ECN ECN translated to ECN non-ECN Receiver 25 vCC Virtualized Congestion Control 26 VM VM VM Hypervisor VM Hypervisor Datacenter Network 27 VM SSTHRESH: 4 CWND: 2 SND_WND: 2 SYN SSTHRESH: Slow Start Threshold CWND: Congestion Window SND_WND: Send Window Hypervisor SYN ECE CWR SSTHRESH: 4 CWND: 2 SND_WND: 2 28 VM SSTHRESH: 4 CWND: 2 SND_WND: 2 Hypervisor SSTHRESH: 4 CWND: 2 SND_WND: 2 ECT 29 VM SSTHRESH: 4 CWND: 3 2 SND_WND: 3 2 Hypervisor SSTHRESH: 4 CWND: 3 2 SND_WND: 3 2 30 VM SSTHRESH: 10 CWND: 30 SND_WND: 15 30 Hypervisor SSTHRESH: 10 CWND: 15 30 SND_WND: 15 30 RWIN: 15 31 VM SSTHRESH: 10 CWND: 30 SND_WND: 15 Hypervisor SSTHRESH: 10 CWND: 15 SND_WND: 15 CWR 32 VM SSTHRESH: 10 CWND: 31 30 SND_WND: 16 15 Hypervisor SSTHRESH: 10 CWND: 16 15 SND_WND: 16 15 RWIN: 16 33 Goodput (Mbps) 1.4 1.0 0.6 0.2 0 0 10 20 Seconds 34 30 vCC 100 100 Send Window (KB) Congestion Window (KB) Native 80 60 40 20 0 2 4 6 8 Seconds 10 80 60 40 20 0 12 35 2 4 6 8 Seconds 10 12 36 37 VM App2 VM App1 App1 Hypervisor App2 Hypervisor Datacenter Network 38 VM App1 App2 Hypervisor App1 vCC Module App2 vCC Module 39 Throughput (% link capacity) 100 80 Unpreferred Preferred 60 Unpreferred 40 Preferred 20 Unpreferred 0 0 10 20 Time (seconds) 40 30 Illinois Tahoe Cubic NewReno Reno CANIT TFRC Agile-SD Zeta Westwood+ Vegas General TCP Translation System MP-TCP Scalable Hybla FAST Indy BIC YeAH Jersey FIT Veno XCP Compound H-TCP LP pFabric HSTCP41 Real Timely DCTCP 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