Multi-Core Load Balancing Subslotting for Traffic Skew
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Least connection load balancing methods can lead to uneven distribution of traffic across packet engines in multi-core devices, resulting in skew and inefficiencies due to the ordering of services and averaging processes.
Innovation Solution
Implementing a subslotting scheme where services are assigned to subslots across multiple packet engines, with each slot tracking active connections, to distribute traffic evenly and mitigate skew by updating service allocations based on connection changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If least connection load balancing is implemented without subslotting, then the load balancing mechanism is simple to implement, but traffic distribution becomes uneven across packet engines
Solution Approach 1:
The patent divides each slot into multiple subslots (e.g., 4 subslots per slot) and assigns services to specific subslots based on the packet engine modulo. This segmentation allows traffic to be distributed across multiple packet engines within a slot, preventing concentration on a single engine while maintaining the simplicity of the slot-based structure.
2Ease of manufacture
If services are assigned to packet engines based on ordering without subslotting, then the assignment process is straightforward, but distribution skew occurs favoring certain packet engines
Solution Approach 1:
The patent applies local quality by making different subslots within the same slot have different characteristics - each subslot is associated with a specific packet engine (PE0, PE1, PE2, PE3). Services are assigned to specific subslots based on their packet engine modulo, ensuring that each packet engine receives an appropriate portion of the traffic while maintaining overall uniformity.
3Device complexity
If averaging and ordering processes are used in stats sync, then synchronization is simplified, but skew is introduced in the load balancing statistics
Solution Approach 1:
The patent segments the statistics collection by subslot, allowing each subslot to maintain its own connection count independently. This segmentation prevents the averaging process from mixing statistics from different packet engines, thereby eliminating the skew that would otherwise be introduced by naive averaging while keeping the sync process manageable.
Data Source
AI summary
The present invention is directed towards systems and methods for load balancing by a multi-core device intermediary between clients and services. The device may establish sub-slots in each slot of the device's packet engines. The number of sub-slots may correspond to the packet engine count. Each slot may track a different number of active connections allocated to a service. The device may assign a first and second service to each packet engine in a first slot corresponding to no active connections. These services may be assigned to different sub-slots in adjacent packet engines. The device may update, responsive to allocation of a first active connection to the first service, the first service from a sub-slot in the first slot of a first packet engine, to a corresponding sub-slot in a second slot. The second slot may correspond to one active connection allocated to the first service.


