Multi-port Queue Group System for Network Processing Unit Buffer Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional information handling systems face inefficiencies in queue buffer configurations, particularly when ports are configured in Link Aggregation Groups (LAGs) or multi-path scenarios, leading to overloading of queues in some ports while others have available resources unused.
Innovation Solution
The implementation of a queue group system that aggregates queues associated with multiple ports within a port group, allowing for shared buffering and dynamic reconfiguration to optimize resource utilization, even if individual ports become unavailable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If buffer-related configurations are applied on a per-queue, per-port basis, then queue management is simplified, but queue resources cannot be shared across multiple ports leading to inefficiency and overload
Solution Approach 1:
The patent combines multiple queues from different ports into a shared queue group, allowing buffer resources to be pooled and shared across multiple ports. This merging enables efficient resource utilization while maintaining simplified management through unified configuration for the entire queue group rather than individual queue management.
Solution Approach 2:
The queue group structure provides multi-functionality by serving multiple ports simultaneously with a shared buffer pool. The same buffer resources can be dynamically allocated to any port within the queue group based on current traffic demands, making the system adaptable to various port configurations and traffic patterns.
2Reliability
If queues are dedicated to individual ports, then port isolation is maintained, but queue resources cannot be shared leading to overload in some ports while others have available resources
Solution Approach 1:
The patent merges queues from multiple ports into a shared queue group while maintaining logical separation through port identification. The shared buffer pool serves multiple ports simultaneously, allowing resources to be shared while port isolation is maintained through the queue group structure that tracks which packets belong to which port.
Solution Approach 2:
The patent segments the queue group into port-specific logical sections while sharing the physical buffer resources. Each port within the queue group has its own queue structure and packet handling logic, but they all draw from the same pooled buffer resources, achieving both isolation and sharing.
3Ease of manufacture
If per-port queue configurations are used, then configuration management is straightforward, but system adaptability to port failures and reconfigurations is reduced
Solution Approach 1:
The queue group provides a universal configuration that can serve multiple ports with different characteristics. When ports are added, removed, or reconfigured within the queue group, the shared buffer configuration automatically adapts without requiring individual queue reconfiguration, enhancing system versatility while maintaining straightforward management.
Solution Approach 2:
The queue group structure allows dynamic adaptation to port changes. When a port fails or is reconfigured, the buffer resources previously allocated to that port become available for reallocation to other ports in the group, providing automatic system adaptation without manual intervention or complex reconfiguration procedures.
Data Source
AI summary
A multi-port queue group system an Network Processing Unit coupled to ingress port(s) and an egress port group having a first egress port and a second egress port. The NPU includes an egress queue group having a first egress queue associated with the first egress port and a second egress queue associated with the second egress port. The NPU receives data packets that are each directed to the egress port group via the ingress port(s), and buffers a first subset of the data packets in the first egress queue included in the egress queue group, and a second subset of the data packets in the second egress queue included in the egress queue group. The NPU then transmits at least one of the data packets via at least one of the first egress port and the second egress port included in the egress port group.


