Queue-to-port allocation for network interface load balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network interface-based solutions for link aggregation, existing technologies face challenges in managing traffic load balancing and port selection without involving virtual machines, especially in scenarios where port congestion occurs, and there is a need for efficient packet routing and queue management across multiple ports.
Innovation Solution
The implementation of a network interface-based solution that uses a single forwarding table for multiple ports, with a scheduler and transmit queue mapping to manage traffic load balancing, allowing for dynamic port selection and failover, and includes a switch manager to assign switch identifications for processing packets, enabling efficient packet routing and queue management without VM intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a network interface-based solution uses a single forwarding table for multiple ports with scheduler and transmit queue mapping, then traffic load balancing and port management efficiency are improved, but device complexity increases due to the need for sophisticated queue-to-port allocation mechanisms
Solution Approach 1:
The patent segments the queue-to-port allocation mechanism into multiple independent lookup tables, where each table corresponds to a specific port. This segmentation allows the system to manage complex allocations port-by-port rather than requiring a single complex global allocation mechanism, thereby improving traffic load balancing efficiency while keeping individual table management simpler.
Solution Approach 2:
The patent implements a universal queue-to-port allocation approach where a single set of lookup tables serves multiple ports simultaneously. Each lookup table can be assigned to one or more ports, allowing the same allocation mechanism to handle traffic balancing across different ports with varying congestion states, thus improving overall system productivity without proportionally increasing complexity.
2Reliability
If the system implements dynamic port selection and failover mechanisms, then network reliability and congestion handling are improved, but the complexity of port management and scheduler allocation increases
Solution Approach 1:
The patent pre-allocates multiple lookup tables to each port before congestion occurs. When congestion is detected on a primary port, the system can immediately switch to using a secondary port's lookup table without requiring complex real-time allocation decisions. This preliminary preparation of alternative paths improves reliability while keeping the switching mechanism relatively simple.
Solution Approach 2:
The patent introduces a queue-to-port allocation mechanism that acts as an intermediary layer between the scheduler and physical ports. This allocation layer absorbs the complexity of dynamic port selection and failover logic, allowing the scheduler to operate simpler while still achieving reliable congestion handling through the intermediary's intelligent queue routing decisions.
3Speed
If the patent uses multiple lookup tables assigned per port for packet routing, then packet routing efficiency and port-specific management are improved, but memory usage and system resource consumption increase
Solution Approach 1:
The patent merges the functionality of multiple lookup tables by allowing the same lookup table to be shared across multiple ports when appropriate. Instead of requiring completely separate tables for each port, the system can consolidate identical or similar routing rules into shared tables, reducing total memory consumption while maintaining fast packet routing through efficient table lookup operations.
Solution Approach 2:
The patent implements local quality optimization where each port is assigned lookup tables with specificity appropriate to its needs. Highly traffic-intensive ports with unique routing requirements receive dedicated lookup tables for optimal routing speed, while ports with similar traffic patterns share tables to reduce memory usage. This localized optimization balances packet routing efficiency with resource conservation.
Data Source
AI summary
Examples described herein relate to an apparatus including at least one memory and at least one processor communicatively coupled to the at least one memory, the at least one processor to: allocate a scheduler to an egress port and based on unavailability of an egress port, allocate the scheduler to a second egress port to cause any packet allocated to a transmit queue associated with the scheduler to be transmitted using the second egress port. In some examples, a system receives a packet at a port on a network interface, associates a port group with the packet, determines a receive queue for the packet, and copies the packet to the determined receive queue. The port group can be adjusted to remove the port or to add a second port.


