Dynamic Packet Queue Allocation in Network Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network buffer management in data center networks is inadequate due to static queue provisioning, leading to congestion and packet drops, which degrade application performance and fail to meet dynamic workload demands.
Innovation Solution
Implementing dynamic packet queue allocation based on traffic class, packet flow types, congestion, latency requirements, and drop requirements, allowing switches to dynamically switch between different types of intermediate queues to optimize latency and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If queues are statically provisioned in switches, then device complexity is reduced and ease of operation is improved, but adaptability to dynamic workload demands deteriorates and packet drops increase
Solution Approach 1:
The patent implements dynamic queue allocation where the network device automatically adjusts queue parameters (size, depth, type) based on real-time workload characteristics. The system transitions from static provisioning to dynamic adaptation by monitoring traffic patterns and reallocating queue resources accordingly, enabling the switch to handle varying workload demands without manual intervention.
2Reliability
If queue sizes are increased to handle congestion, then packet drops are reduced, but latency increases and network efficiency deteriorates
Solution Approach 1:
The patent applies different queue configurations (size, depth, type) to different traffic classes and flows based on their specific requirements. Instead of using a uniform large queue for all traffic, the system creates specialized queues with appropriate dimensions for each traffic type, ensuring that latency-sensitive traffic receives minimal queuing delay while other traffic can utilize larger queues to prevent drops.
Solution Approach 2:
The system dynamically changes queue parameters (size, depth, type) based on workload characteristics and traffic class requirements. The network device monitors traffic patterns and adjusts queue configurations in real-time, transforming fixed queue parameters into variable ones that adapt to changing network conditions, thereby optimizing both reliability and latency performance.
3Adaptability or versatility
If multiple queue types are maintained for different traffic classes, then adaptability and service level agreement compliance are improved, but device complexity increases
Solution Approach 1:
The patent implements a universal queue allocation framework that can accommodate multiple queue types (shallow, deep, expandable) within a single switch infrastructure. The system uses a common control mechanism that automatically selects and configures appropriate queue types based on traffic class requirements, eliminating the need for separate dedicated queue structures for each traffic type while maintaining adaptability to diverse workload demands.
4Productivity
If queues are dynamically allocated based on workload, then application performance and network efficiency are improved, but measurement precision and monitoring complexity increase
Solution Approach 1:
The patent implements a feedback-driven queue allocation system where the network device continuously monitors traffic characteristics, queue utilization, and performance metrics. Based on this feedback, the system dynamically adjusts queue configurations to optimize application performance and network efficiency. The monitoring mechanism tracks workload patterns and feeds this information back to the queue management logic, enabling continuous optimization without requiring overly complex measurement systems.
Data Source
AI summary
Examples herein relate to allocation of an intermediate queue to a flow or traffic class (or other allocation) of packets prior to transmission to a network. Various types of intermediate queues are available for selection. An intermediate queue can be shallow and have an associated throughput that attempts to meet or exceed latency guarantees for a packet flow or traffic class. Another intermediate queue is larger in size and expandable and can be used for packets that are sensitive to egress port incast such as latency sensitive packets. Yet another intermediate queue is expandable but provides no guarantee on maximum end-to-end latency and can be used for packets where dropping is to be avoided. Intermediate queues can be deallocated after a flow or traffic class ends and related memory space can be used for another intermediate queue.


