/
Duet: Cloud Scale Load Balancing Duet: Cloud Scale Load Balancing

Duet: Cloud Scale Load Balancing - PDF document

liane-varnes
liane-varnes . @liane-varnes
Follow
452 views
Uploaded On 2016-03-19

Duet: Cloud Scale Load Balancing - PPT Presentation

with Hardware and Software 1 Hongqiang Harry Liu Guohan Lu Jitu Padhye Lihua Yuan Ming Zhang Rohan Gandhi Y Charlie Hu Load Balancer is Critical For Online Services 2 Server S ID: 261331

with Hardware and Software 1 Hongqiang Harry Liu Guohan Lu

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "Duet: Cloud Scale Load Balancing" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Duet: Cloud Scale Load Balancing with Hardware and Software 1 Hongqiang Harry Liu Guohan Lu Jitu Padhye Lihua Yuan Ming Zhang Rohan Gandhi Y. Charlie Hu Load Balancer is Critical For Online Services 2 Server Server DIP = 10.0.1.1 DIP = 10.0.2.2 DIP = 10.0.3.3 DIP = 10.0.4.4 OneDrive Store VIP - DIP mapping Datacenter bing.com VIP1 = 1.1.1.1 VIP2 = 1.1.1.2 Load balancer (Mux) VIP1, VIP2 Internet Terminology VIP – Virtual IP DIP – Direct IP Mux – Multiplexer Load balancer provides high availability and scalability . . . Server . . . Server Split VIP traffic to DIPs Existing LBs Have Limitations 3 Too costly $100+ million for 15 Tbps Poor robustness 1+1 redundancy Scale with demand Scale up/down according to VIP traffic High robustness n+1 redundancy Specialized Hardware LBs Software LBs Software LBs have cost and performance limitations Software LB Design 4 DC Network Client SMux VIP1 Ananta : Cloud - scale load balancing [SIGCOMM’13] VIP1 DIP1, DIP2 . . . . DIP1 DIP2 Software LB Benefits: • High robustness • Scale with demand Software LB has Limitations 5 5k SMuxes needed at 15Tbps traffic in 50k server DC High latency inflation: 200 usec Low capacity: 300k pkts /sec 0.1 1 10 100k 300k 450k Latency inflation (msec) Traffic (pkts/sec) 0 20 40 60 80 100 100k 300k 450k CPU Utilization Traffic (pkts/sec) How can we build high performance , low cost and robust load balancer? 6 Duet ideas • Use commodity switches as hardware Muxes • Use software Muxes as a backstop Can Switch Act As a Mux 7 Switches offer: • High capacity (500+ million pkts /sec) • Low latency inflation (1 usec ) Mux functionalities • Split VIP traffic across DIPs • Forward VIP traffic to DIPs Switch resources • ECMP • Tunneling 8 Implementing HMux on Switch Dest : VIP Src : Client Dest : VIP Src : Client Dest : DIP Src : HMux HMux Forwarding Table Tunneling Table ECMP Table Index 0 1 2 3 DIPs 10.0.0.1 10.0.0.2 20.0.0.1 20.0.0.2 VIP 1.1.1.1/32 1.1.1.2 /32 VIP DIPs 1.1.1.1/32 10.0.0.1 10.0.0.2 1.1.1.2/32 20.0.0.1 20.0.0.2 Key Design Challenges 9 • Limited switch memory • High failure robustness • VIP assignment • VIP migration Challenge 1: Switches have Limited Memory 10 Single HMux cannot store all VIPs and DIPs Forwarding Table Tunneling Table ECMP Table DIPs 10.0.0.1 10.0.0.2 20.0.0.1 20.0.0.2 VIP 1.1.1.1/32 1.1.1.2 /32 Index 0 1 2 3 Workload: 100k+ VIPs and 1+ millions DIPs Table Forwarding ECMP Tunneling Max. size 16k 4k 512 Limits #VIPs Limits #DIPs Max VIPs Max DIPs Solution: Partitioning VIPs across HMuxes 17 HMux - A HMux - B Source DIP2 DIP4 1.1.1.1/32 1.1.1.2/32 VIP DIPs 1.1.1.2/32 DIP3, DIP4 VIP DIPs 1.1.1.1/32 DIP1, DIP2 Capacity VIPs DIPs Single HMux 16k 512 All HMuxes 16k 512 * 2k = 1M Scales with #DIPs Fixed Challenge 2: High Robustness 12 • Availability during failure? • Large number of VIPs? HMux - A 1.1.1.1/32 HMux - B 1.1.1.2/32 Source DIP1 DIP2 Idea: Integrate SMux with HMux 13 Low latency High capacity High availability Scale to large #VIPs HMuxes     Duet     SMuxes     ? HMux - B Solution: Use SMuxes As a Backstop 14 HMux - A SMux - A SMux - B VIP DIP 1.1.1.2/32 DIP3, DIP4 VIP DIP 1.1.1.1/32 DIP1, DIP2 VIP DIP 1.1.1.1/32 DIP1, DIP2 1.1.1.2/32 DIP3, DIP4 VIP DIP 1.1.1.1/32 DIP1, DIP2 1.1.1.2/32 DIP3, DIP4 HMux - B Solution: Use SMuxes As a Backstop 14 HMux - A SMux - A SMux - B VIP = 1.1.1.2/32 VIP = 1.1.1.1/32 VIP = 1.1.1.0/24 VIP = 1.1.1.0/24 • High availability during failure • Scale to large #VIPs Source VIP Traffic Distribution is Highly Skewed 16 Top 10% VIPs carry 99% traffic Duet handles 86 - 99.9% traffic using HMuxes Challenge 3: How to Assign VIPs? 17 Objective: Maximize traffic handled by HMuxes VIP - 1 VIP - 2 . . . VIP - k ? ? ? ? ? ? ? ? ? ? SMux SMux Input: VIP traffic, DIP locations Topology Constraints: Switch memory Link capacity Challenge 4: How to Migrate VIPs? 18 Current VIP2 VIP1 S1 S2 S3 S1 S2 S3 VIP2 VIP1 New Withdraw and announce S1 S2 S3 VIP1  Maintain VIP availability S1 S2 S3 VIP2 VIP1 VIP1  Limited Memory Announce before withdraw  VIP2 VIP2  VIP1 VIP2 Solution: Migrate VIPs through SMuxes 19 Current VIP2 VIP1 SMux SMux S1 S2 S3 Withdraw VIPs from old location SMux SMux S1 S2 S3 VIP2 VIP1 New SMux SMux S1 S2 S3 VIP1, VIP2 VIP1, VIP2 Announce VIPs from new location Fast and maintains VIP availability Duet Extensions 20   Support VIPs with 512+ DIPs Port based load balancing  SNAT Load balancing in virtualized networks  Experimental Setup 21 Testbed • 10 switches, 3 SMuxes • 10 VIPs, 34 DIPs Simulation • Topology and traffic trace from Azure DC SMux3 SMux2 SMux1 … … … … • High capacity • H igh availability • Low cost Duet Provides High Capacity 22 Traffic to SMux: 200k pkts /sec Traffic to SMux: 400k pkts /sec Traffic to HMux: 1.2m pkts /sec HMux has larger capacity and lower latency than SMux Duet Provides High Availability 23 VIP1 on HMux1 HMux1 fails VIP1 traffic falls back SMux 38msec VIP2 on HMux2 VIP3 on SMux Duet Reduces Cost 24 Duet reduces cost by 10 - 24x 820 1462 2144 3839 33 64 142 362 0 1000 2000 3000 4000 5000 1.25 2.5 5 10 Number of SMuxes VIP Traffic (Tbps) Software LB Duet Summary 25 • Specialized and software LBs have cost and performance problems • Duet key ideas:  Use commodity switches as HMuxes  Use small number of SMuxes as backstop • Benefits:  Low latency  High capacity  High robustness  Low cost