Skip to main content
Engineering, Backend

Load Balancing: Handling Heterogeneous Hardware

March 7 / Global
Featured image for Load Balancing: Handling Heterogeneous Hardware
Image
Figure 1: A typical “imbalance graph.” Each line represents the CPU usage of a container.
Image
Figure 2: A less obvious case: container utilizations are distributed across a band, but some are utilized more than others.
Image
Figure 3: theoretical definition of imbalance.
Image
Figure 4: Continuous Imbalance Indicator on a real-time dashboard.
Image
Figure 5: Imbalance understood.
Image
Figure 6: Patterns in weekly CPU utilization of a single service.
Screenshot of a spreadsheet, fields colored by the feasibility
Figure 7: Option matrix (blurred out on purpose)
Image
Figure 8: Zone Weights
Image
Figure 9: Dynamic Host-Aware Cluster Load Balancing
Image
Figure 10: Assisted Load Balancing in a nutshell. 
Image
Figure 11: Zone Weights rollout.
Pawel Krolikowski

Pawel Krolikowski

Pawel Krolikowski is a Staff Software Engineer on the Software Networking team. Before working on load balancing, he spent most of his time on the Software Networking management plane and integrations with stateful and stateless orchestration systems.

Chien-Chih Liao

Chien-Chih Liao

Chien-Chih Liao is a Senior Staff Software Engineer on Uber’s Software Networking team. His contributions include traffic control, traffic load balancing, data center failover, and resilience features for Uber’s service mesh.

Ying Jiang

Ying Jiang

Ying Jiang is the Manager of our Network Lifecycle Team. Before she shifted her path to become a manager, she worked on various projects, including imagebuilder of Crane infra stack, making Uber portable, Canary, and traffic load balancing.

Posted by Pawel Krolikowski, Chien-Chih Liao, Ying Jiang