Inferensys

Glossary

Weighted Round Robin

Weighted Round Robin is a load balancing algorithm that distributes requests across servers in a cyclical order, but assigns a numerical weight to each server to proportionally direct more traffic to higher-capacity resources.
Moody home-office setup in a converted highrise loft, analyst working late with multiple screens showing knowledge graph visualizations, city lights through large windows behind.
LOAD BALANCING ALGORITHM

What is Weighted Round Robin?

Weighted round robin is a load balancing algorithm that distributes requests across servers in a cyclical fashion, but assigns a weight to each server to proportionally direct more traffic to servers with higher capacity.

Weighted Round Robin (WRR) is a deterministic scheduling and load balancing algorithm that cycles through a list of servers in a fixed order, but assigns a numerical weight to each server to control the proportion of traffic it receives. Unlike standard round robin, which treats all servers equally, WRR accounts for heterogeneous capacity by allowing more powerful servers to handle a larger share of requests. For example, a server with a weight of 3 may receive three consecutive requests before the algorithm moves to the next server in the cycle.

The algorithm is fundamental in heterogeneous fleet orchestration, where resources like servers or autonomous mobile robots have differing processing power, battery life, or payload capacity. It provides predictable, static distribution based on pre-configured weights, making it simple to implement and efficient for workloads where server capabilities are known and stable. However, it lacks the dynamic adaptability of algorithms like least connections or weighted least connections, as it does not consider real-time server load or health.

LOAD BALANCING ALGORITHMS

Key Features of Weighted Round Robin

Weighted round robin is a deterministic load balancing algorithm that distributes requests in a cyclical order, but assigns a static weight to each server to proportionally direct more traffic to higher-capacity resources.

01

Static Weight Assignment

The core mechanism of weighted round robin is the assignment of a static integer weight to each server in the pool. This weight represents its relative capacity or priority. A server with a weight of 3 will receive approximately three times the number of connections over a cycle compared to a server with a weight of 1. Weights are typically configured by a system administrator based on hardware specifications like CPU cores, memory, or network bandwidth.

02

Deterministic, Cyclic Scheduling

Unlike dynamic algorithms, weighted round robin uses a predictable, cyclic sequence. The load balancer iterates through the server list in order. For each server, it sends a number of consecutive requests equal to its weight before moving to the next server. This creates a fixed distribution pattern that is easy to model and debug. For a pool with weights [3, 1, 2], the request sequence over one full cycle would be: A, A, A, B, C, C.

03

Handling Heterogeneous Resources

This algorithm is specifically designed for environments with non-identical servers. It prevents underutilization of powerful servers and overloading of weaker ones, which is a key limitation of standard round robin. In a heterogeneous fleet of Autonomous Mobile Robots (AMRs), weights could be assigned based on battery capacity, maximum payload, or specialized tooling (e.g., a forklift AMR gets a higher weight for pallet-moving tasks).

04

Low Computational Overhead

Weighted round robin has minimal runtime computational cost. The algorithm maintains a simple counter or pointer to track its position in the cycle. There is no need to calculate real-time metrics like response times or active connection counts. This makes it extremely efficient for high-throughput systems where the overhead of decision-making must be negligible, such as in network packet switches or foundational load balancers.

05

Lack of Real-Time Adaptability

A significant limitation is its static nature. The algorithm does not adapt to changing server conditions. If a high-weight server becomes slow or congested, it will continue to receive a disproportionate share of traffic until its weight is manually reconfigured. It does not account for:

  • Current server load or CPU utilization
  • Network latency to the server
  • Varying request processing complexity This makes it unsuitable for environments where server performance fluctuates dynamically.
06

Common Use Cases & Examples

Weighted round robin is ideal for stable, predictable environments with known resource disparities.

  • Network Load Balancers (Layer 4): Distributing TCP/UDP connections across backend servers with different hardware profiles.
  • DNS Load Balancing: Assigning multiple IP addresses with different priorities (weights) in a DNS SRV record.
  • Task Queues in Robotics: In a mixed fleet, a dispatcher might assign more simple transport tasks to low-cost, high-availability AMRs (weight=2) and fewer complex manipulation tasks to slower, specialized robotic arms (weight=1).
  • Legacy System Integration: When integrating new, faster servers with older hardware in a pool.
LOAD BALANCING ALGORITHM COMPARISON

Weighted Round Robin vs. Other Algorithms

A technical comparison of Weighted Round Robin against other common load balancing algorithms, focusing on their mechanisms, suitability for heterogeneous fleets, and operational trade-offs.

Feature / MetricWeighted Round RobinRound RobinLeast ConnectionsIP Hash

Core Distribution Mechanism

Cyclical with capacity-based weights

Strict, equal cyclical rotation

Dynamic selection based on current active connections

Deterministic hash of client IP address

Handles Heterogeneous Capacity

Session Persistence (Sticky Sessions)

Dynamic Load Awareness

Predictable Request Order

Overhead & Computational Cost

Low

Very Low

Medium (requires state tracking)

Low

Ideal For Heterogeneous Fleets

Typical Use Case

Servers/AMRs with known, static capacity differences

Identical, stateless servers

Long-lived or variable-duration connections (e.g., database pools)

Stateful applications requiring client affinity

WEIGHTED ROUND ROBIN

Use Cases and Examples

Weighted round robin is a foundational algorithm for proportional resource allocation. These examples illustrate its practical application across computational and physical orchestration systems.

01

Heterogeneous Robot Fleet Tasking

In a warehouse with mixed autonomous mobile robots (AMRs) and manual forklifts, WRR assigns more pick-and-place tasks to higher-capacity AMRs. A system might assign a weight of 3 to a high-speed robot and 1 to a slower manual cart, ensuring the fleet's total throughput is maximized by leveraging each agent's inherent capability. This prevents underutilization of premium assets while ensuring all agents contribute.

30-50%
Typical throughput increase
04

Microservices & API Gateway Routing

An API gateway can use WRR to route requests to different versions of a microservice or to instances in different availability zones. For a canary deployment, the stable version may have a weight of 95 and the new canary version a weight of 5, allowing a controlled, proportional rollout of new code to a small subset of traffic for validation before a full cutover.

< 1 sec
Routing decision latency
06

GPU Cluster Job Scheduling

In a machine learning training cluster with heterogeneous GPUs (e.g., A100s and V100s), a job scheduler uses WRR to assign training jobs. An A100 (higher FLOPs) may have a weight of 8 and a V100 a weight of 3. The scheduler cycles through the GPU list, assigning more compute-intensive jobs to the A100s. This simple, predictable scheduling ensures high-value hardware is fully utilized, directly optimizing infrastructure cost control for AI workloads.

99.9%
Resource utilization target
WEIGHTED ROUND ROBIN

Frequently Asked Questions

Weighted Round Robin is a foundational algorithm for distributing workload across heterogeneous resources. These questions address its core mechanics, applications, and trade-offs in modern orchestration systems.

Weighted Round Robin (WRR) is a deterministic load balancing algorithm that distributes requests across a pool of servers in a cyclical order, but assigns a numerical weight to each server to proportionally direct more traffic to those with higher capacity. It works by maintaining a list of servers with their assigned weights. The algorithm cycles through the list, but instead of sending one request per server per cycle, it sends a number of requests equal to the server's weight before moving to the next server. For example, a server with a weight of 3 will receive three consecutive requests in a cycle, while a server with a weight of 1 receives one, ensuring traffic distribution matches predefined capacity ratios.

Key Mechanism:

  • Each server is assigned a static or dynamic weight (e.g., based on CPU cores, RAM, or processing speed).
  • A scheduler iterates through the server list, granting each server a number of request slots equal to its current weight.
  • The cycle repeats indefinitely, providing predictable, proportional distribution.

In Heterogeneous Fleet Orchestration, WRR can allocate tasks to robots or vehicles based on their capability weight, such as battery level, payload capacity, or sensor suite.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.