Modular Forwarding System Dynamic Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication networks face challenges in load balancing network traffic across multiple ports in switching applications, such as data centers and high-volume website server systems, where traffic with different attributes needs to be efficiently distributed while maintaining low latency and quality-of-service compliance.
Innovation Solution
A modular forwarding system that determines the optimal uplink for forwarding data packets based on traffic load measurements, using a scheduler and load balancer to select buffers and uplinks, and includes virtual output queues for prioritizing and aggregating packets, allowing for efficient load balancing of unicast and multicast traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If network traffic is load balanced across multiple uplinks in a switching system, then network efficiency and scalability are improved, but system complexity increases due to the need for dynamic measurements, comparisons, and buffer management
Solution Approach 1:
The system segments the switching architecture into modular components: multiple independent uplinks, separate buffers for each uplink, and distributed load balancing logic at source and target devices. This segmentation allows traffic to be independently managed across multiple paths while maintaining overall system coordination through standardized protocols.
Solution Approach 2:
The source device performs preliminary measurements of uplink traffic loads and proactively selects optimal uplinks and buffers before data transmission begins. By pre-establishing the load balancing configuration and buffer allocations, the system avoids complex real-time decisions during data flow, reducing operational complexity.
2Loss of time
If dynamic uplink selection is implemented based on traffic load measurements, then latency is reduced through optimal path selection, but measurement and control overhead increases
Solution Approach 1:
The system implements feedback mechanisms where the source device continuously monitors uplink traffic loads and adjusts buffer selections accordingly. The target device also provides feedback about received traffic patterns, enabling the source to optimize uplink selection dynamically. This feedback loop reduces latency by adapting to current network conditions while distributing the measurement and control overhead across multiple devices.
Solution Approach 2:
Each device in the network autonomously performs its own traffic load measurements and makes independent uplink selection decisions based on local observations. This self-service approach eliminates the need for a centralized control entity, reducing overall system overhead while enabling low-latency local decisions.
3Adaptability or versatility
If multiple buffers are allocated for different uplinks at source and target devices, then load balancing capability is enhanced, but memory requirements and device resource consumption increase
Solution Approach 1:
The buffers allocated at source and target devices serve multiple functions: they temporarily store data packets during load balancing operations, provide flow control mechanisms, and enable reordering of packets arriving from different uplinks. This multi-functionality allows a single buffer structure to support various load balancing strategies without requiring separate dedicated memory for each function.
Solution Approach 2:
Instead of allocating full buffer capacity for every possible uplink combination, the system allocates partial buffers that are sufficient for typical load balancing scenarios. The buffer sizes are tuned to provide adequate load balancing capability while avoiding excessive memory consumption that would occur with over-provisioning for all possible traffic patterns.
Data Source
AI summary
A forwarding system includes a first processor coupled to connecting devices using a plurality of uplinks, and a second processor coupled to the connecting devices using a plurality of downlinks. The first processor includes, in a memory, one or more queues each corresponding to the second processor, a priority, and/or to a packet cast type (e.g., unicast or multicast). The first processor is configured to select a particular queue, select a particular uplink based on a comparison of measurements corresponding to respective loads of the plurality of uplinks, and cause a fragment or the entirety of a packet in the particular queue to be forwarded to the second processing device using the selected uplink and corresponding connecting device. The second processor is configured to reassemble the packet, reorder the packet into a flow, and forward the packet from the forwarding system.


