Scalable Load Balancing Using Programmable Data Planes

Scalable Load Balancing Using Programmable Data Planes
Slide Note
Embed
Share

HULA is a scalable load balancing solution that leverages programmable data planes to efficiently manage traffic in data centers. It addresses challenges such as multiple network paths, high bisection bandwidth, volatile traffic, and serving multiple tenants. With a focus on optimizing path performance and ensuring high bisection bandwidth, HULA provides fine-grained load balancing capabilities. The solution adapts to volatile network conditions and can operate within the dataplane or in-network, offering a versatile approach to load balancing.

  • Scalable Load Balancing
  • Programmable Data Planes
  • Data Center
  • Traffic Management
  • Fine-Grained Balancing

Uploaded on Mar 07, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. HULA: Scalable Load Balancing Using HULA: Scalable Load Balancing Using Programmable Data Planes Programmable Data Planes Naga Naga Katta Katta1 1 Mukesh Hira2, Changhoon Kim3, Anirudh Sivaraman4, Jennifer Rexford1 1.Princeton 2.VMware 3.Barefoot Networks 4.MIT 1

  2. Datacenter Datacenter L Load oad B Balancing alancing Multiple network paths High bisection bandwidth Volatile traffic Multiple tenants 2

  3. A Good A Good L Load Balancer oad Balancer Multiple network paths Track path performance Choose best path High bisection bandwidth Volatile traffic Multiple tenants 3

  4. A Good Load Balancer A Good Load Balancer Multiple network paths Track path performance Choose best path High bisection bandwidth Fine grained load balancing Volatile traffic Multiple tenants 4

  5. A Good Load Balancer A Good Load Balancer Multiple network paths Track path performance Choose best path High bisection bandwidth Fine grained load balancing Volatile traffic In-dataplane Multiple tenants 5

  6. A Good Load Balancer A Good Load Balancer Multiple network paths Track path performance Choose best path High bisection bandwidth Fine grained load balancing Volatile traffic In-dataplane Multiple tenants In-network 6

  7. CONGA (SIGCOMM14) CONGA (SIGCOMM 14) 7

  8. Datapath Datapath LB: Challenges LB: Challenges Tracks all Tracks all paths paths 8

  9. Datapath Datapath LB: Challenges LB: Challenges Large FIBs Tracks all Tracks all paths paths 9

  10. Datapath Datapath LB: Challenges LB: Challenges Large FIBs Tracks all Tracks all paths paths Custom ASIC 10

  11. Programmable Commodity Switches Programmable Commodity Switches Vendor agnostic Uniform programming interface (P4) Today s trend -> cheaper Reconfigurable in the field Adapt or add dataplane functionality Examples RMT, Intel Flexpipe, Cavium Xpliant, etc. 11

  12. Programmable Switches Programmable Switches - - Capabilities Capabilities More than OF 1.X P4 Program Compile Memory Memory Memory Memory M A M A M A M A m1 a1 m1 a1 m1 a1 m1 a1 Queue Buffer Ingress Parser Egress Deparser 12

  13. Programmable Switches Programmable Switches - - Capabilities Capabilities More than OF 1.X P4 Program Programmable Parsing Compile Memory Memory Memory Memory M A M A M A M A m1 a1 m1 a1 m1 a1 m1 a1 Queue Buffer Ingress Parser Egress Deparser 13

  14. Programmable Switches Programmable Switches - - Capabilities Capabilities More than OF 1.X P4 Program Programmable Parsing Compile Memory Memory Memory Memory M A M A M A M A m1 a1 m1 a1 m1 a1 m1 a1 Queue Buffer Ingress Parser Egress Deparser Match-Action Pipeline 14

  15. Programmable Switches Programmable Switches - - Capabilities Capabilities More than OF 1.X P4 Program Programmable Parsing Register Array Compile Memory Memory Memory Memory M A M A M A M A m1 a1 m1 a1 m1 a1 m1 a1 Queue Buffer Ingress Parser Egress Deparser Match-Action Pipeline 15

  16. Programmable Switches Programmable Switches - - Capabilities Capabilities More than OF 1.X P4 Program Programmable Parsing Stateful Memory Compile Memory Memory Memory Memory M A M A M A M A m1 a1 m1 a1 m1 a1 m1 a1 Queue Buffer Ingress Parser Egress Deparser Switch Metadata Match-Action Pipeline 16

  17. H Hop op- -by A Architecture rchitecture by- -hop hop U Utilization tilization- -aware aware L Load oad- -balancing balancing Distance-vector like propagation Periodic probes carry path utilization Each switch chooses best downstream path Maintains only best next hop Scales to large topologies Programmable at line rate Written in P4. 17

  18. HULA: Scalable and Programmable HULA: Scalable and Programmable Objective P4 feature Probe propagation Programmable parsing Monitor path performance Link state metadata Choose best path, route flowlets Stateful memory and comparison operators 18

  19. Probes carry Probes carry p path utilization ath utilization Spines Probe replicates Aggregate Probe originates ToR 19

  20. Probes carry Probes carry p path utilization ath utilization P4 primitives New header format Programmable Parsing RW packet metadata Spines Probe replicates Aggregate Probe originates ToR 20

  21. Probes Probes carry path utilization carry path utilization ToR ID = 10 Max_util = 80% S2 ToR ID = 10 Max_util = 60% ToR 10 S3 S1 ToR 1 Probe S4 ToR ID = 10 Max_util = 50% 21

  22. Each switch identifies best downstream path Each switch identifies best downstream path ToR ID = 10 Max_util = 50% S2 ToR 10 S3 S1 ToR 1 Probe Dst Best hop Path util ToR 10 S4 50% S4 ToR 1 S2 10% Best hop table 22

  23. Switches load balance Switches load balance flowlets flowlets Flowlet table Dest Timestamp Next hop ToR 10 1 S4 S2 ToR 10 Data S3 S1 ToR 1 Dest Best hop Path util ToR 10 S4 50% S4 ToR 1 S2 10% Best hop table 23

  24. Switches load balance Switches load balance flowlets flowlets P4 primitives RW access to stateful memory Comparison/arithmetic operators Flowlet table Dest Timestamp Next hop ToR 10 1 S4 S2 ToR 10 Data S3 S1 ToR 1 Dest Best hop Path util ToR 10 S4 50% S4 ToR 1 S2 10% Best hop table 24

  25. Switches load balance Switches load balance flowlets flowlets P4 code snippet if(curr_time - flowlet_time[flow_hash] > THRESH) { flowlet_hop[flow_hash] =best_hop[packet.dst_tor]; } metadata.nxt_hop = flowlet_hop[flow_hash]; flowlet_time[flow_hash] = curr_time; Flowlet table Dest Timestamp Next hop ToR 10 1 S4 S2 ToR 10 Data S3 S1 ToR 1 Dest Best hop Path util ToR 10 S4 50% S4 ToR 1 S2 10% Best hop table 25

  26. Evaluated Topology Evaluated Topology S1 S2 Link Failure 40Gbps A1 A2 A3 A4 40Gbps L2 L1 L3 L4 10Gbps 8 servers per leaf 26

  27. Evaluation Setup Evaluation Setup NS2 packet-level simulator RPC-based workload generator Empirical flow size distributions Websearch and Datamining End-to-end metric Average Flow Completion Time (FCT) 27

  28. Compared with Compared with ECMP Flow level hashing at each switch CONGA CONGA within each leaf-spine pod ECMP on flowlets for traffic across pods1 1. Based on communication with the authors 28

  29. HULA handles high load much better HULA handles high load much better 29

  30. HULA keeps HULA keeps q queue ueue o occupancy ccupancy l low ow 30

  31. HULA is stable on link failure HULA is stable on link failure 31

  32. HULA HULA - - Summary Summary Scalable Scalable to large topologies HULA distributes congestion state Adaptive Adaptive to network congestion Proactive Proactive path probing Reliable when failures occur Programmable Programmable in P4! 32

  33. Backup Backup 33

  34. HULA: Scalable, Adaptable, Programmable HULA: Scalable, Adaptable, Programmable LB Scheme Congestio n aware Application agnostic Dataplane timescale Scalable Programmable dataplanes ECMP SWAN, B4 MPTCP CONGA HULA 34

Related


More Related Content