Congestion-Aware Load Balancing at the Virtual Edge CLOVE Aran Bergman (Technion, VMware) Naga Katta, Aditi Ghag, Mukesh Hira, Changhoon Kim, Isaac Keslassy, Jennifer Rexford
Data center load balancing today Equal-Cost Multi-Path (ECMP) routing: Path(packet) = hash(packet’s 5-tuple) src,dst IP + src,dst port + protocol . . . . . . … Spine Switches Coarse-grained Elephant Hash collisions Congestion-oblivious Leaf Switches Servers
Previously proposed load balancing schemes vSwitch vSwitch Hypervisors
Previously proposed load balancing schemes Centralized load balancing Hedera, Fastpass, MicroTE, SWAN Control-driven feedback Slow reaction time Routes computation overhead Scalability Issues Central Controller vSwitch vSwitch Hypervisors
Previously proposed load balancing schemes In-network load balancing CONGA, HULA, LetFlow, DRILL Needs custom ASIC data center fabric High capital cost Controller Involvement may still be required vSwitch vSwitch Hypervisors
Previously proposed load balancing schemes End-host load balancing Presto Congestion Oblivious Controller intervention in case of topology asymmetry MPTCP Incast collapse Guest VM network stack changes Hermes (SIGCOMM’17) Concurrent effort vSwitch vSwitch Hypervisors
vSwitch as the sweet spot Easy to implement No Switch HW changes No guest VM changes Spine switches Leaf switches vSwitch vSwitch
CLOVE assumptions Clove operates over a DC Overlay – e.g., Stateless Transport Tunneling (STT) Network switches with ECMP using 5-tuple Spine switches Outer transport header is used for ECMP traffic distribution Leaf switches Eth IP TCP Overlay vSwitch vSwitch Payload IP Eth
CLOVE in 1 slide Path discovery using traceroute probes Load-balancing flowlets [FLARE ‘05] vSwitch switching between paths based on RTT-scale feedback Explicit Congestion Notification - ECN In-band Network Telemetry - INT
Path Discovery Load balancing flowlets vSwitch Load balancing Outer transport source port (with ECMP) maps to network path Standard ECMP in the physical network H1 to H2 DPort: Fixed SPort: P3 Overlay Data H1 to H2 DPort: Fixed SPort: P2 Overlay Data H1 to H2 DPort: Fixed SPort: P1 Overlay Data H1 to H2 DPort: Fixed SPort: P4 Overlay Data Hypervisor learns source port to path mapping Dst SPort H2 P1 P2 P3 P4 vSwitch vSwitch ECMP-based source routing H1 H2 Hypervisor H1 Hypervisor H2
vSwitch Load balancing Path Discovery Load balancing flowlets Scheme 1: Edge-Flowlet vSwitch Load balancing Eth IP TCP src P3 Overlay Data Eth IP TCP src P4 Overlay Data Eth IP TCP src P2 Overlay Data Eth IP TCP src P1 Overlay Data Dst SPort H2 P1 P2 P3 P4 vSwitch vSwitch Flowlet gap H1 H2
vSwitch Load balancing Scheme2: CLOVE-ECN Path Discovery Load balancing flowlets Congestion-aware balancing based on ECN feedback 2. Switches mark ECN on data packets vSwitch Hypervisor H1 Hypervisor H2 Data Path weight table 1. Src vSwitch detects and forwards flowlets 4. Return packet carries ECN and src port for forward path 3. Dst vSwitch relays ECN and src port to src vSwitch Dst SPort Wt H2 P1 0.1 P2 0.3 P3 P4 Dst SPort Wt H2 P1 0.25 P2 P3 P4 5. Src vSwitch adjusts path weights for the src port
vSwitch Load balancing Scheme 3: CLOVE-INT Path Discovery Load balancing flowlets Utilization-aware balancing based on INT feedback 2. Switches add requested link utilization vSwitch Hypervisor H1 Hypervisor H2 Data 1. Src vSwitch adds INT instructions to flowlets 4. Return packet carries path utilization for forward path 3. Dst vSwitch relays path utilization and src port to src vSwitch Dst SPort Util H2 P1 40 P2 30 P3 50 P4 10 5. Src vSwitch updates path utilizations 6. Src vSwitch forwards flowlets on least utilized paths
Performance evaluation setup Asymmetric Setup … 16 Clients Spine1 Spine2 Leaf1 4 x 40 Gbps 16 x 10 Gbps 16 Servers Leaf2 2-tier leaf-spine symmetric topology Web Search Workload Client on Leaf1 <-> server on Leaf2 Measure Average Flow Completion Time (FCT) Compare Edge-Flowlet and Clove-ECN to ECMP, MPTCP and Presto
Symmetric topology … Better 1.8x 2.5x
Asymmetric topology … Better 5x 12x
Incast Workload Better CLOVE-ECN outperforms MPTCP on Incast Workloads
NS2 Simulation with CONGA – Asymmetric … 3x lower FCT than ECMP Better 1.2x higher FCT than CONGA CLOVE-ECN captures 80% of the performance gain between ECMP and CONGA
CLOVE highlights Captures 80% of the performance gain of CONGA No changes to network hardware, VMs, applications Adapts to asymmetry within the data plane Scalable due to distributed state
THANK YOU Questions?
Parameter Sweeping Empirical values for (flowlet-threshold, ECN-threshold) are 1RTT, 20pkts