Multi-Core QoS Traffic Management with Dynamic Bandwidth Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing HQoS-based systems face performance issues due to overloading when the number of subscribers or high-bandwidth network interfaces increase, leading to slow packet processing and inadequate congestion management strategies that treat all traffic classes uniformly, resulting in inefficient bandwidth allocation and potential packet drops.
Innovation Solution
Implementing a scalable Quality of Service (QoS) traffic management mechanism across multiple cores, allowing for parallel processing of packet enqueueing and dequeuing, and dynamically adjusting bandwidth allocation based on traffic criticality, with a congestion management strategy tailored to each traffic class, enabling sharing of unused bandwidth among priority classes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single core is used for HQoS scheduler to avoid queue locking, then queue management is simplified, but the core becomes overloaded and performance slows down when subscribers or bandwidth increase
Solution Approach 1:
The patent divides the single core HQoS scheduler into multiple independent scheduler instances distributed across multiple cores. Each scheduler instance handles a subset of queues, enabling parallel packet processing while maintaining simplified queue management within each instance. This segmentation resolves the contradiction by distributing the load across multiple cores rather than overloading a single core.
Solution Approach 2:
The patent transitions from a single-dimension (single core) architecture to a multi-dimensional (multi-core) architecture. By adding the core dimension, the system achieves parallel processing capability while each core maintains its own simplified queue management. This dimensional expansion allows the system to handle increased subscriber counts and bandwidth requirements without sacrificing operational simplicity at the instance level.
2Device complexity
If uniform congestion management strategy is applied to all traffic classes, then implementation is simplified, but bandwidth allocation becomes inefficient and packet drops increase
Solution Approach 1:
The patent applies different congestion management strategies to different traffic classes based on their specific requirements. Each scheduler instance can be configured with appropriate congestion management parameters tailored to the traffic classes it handles. This local customization optimizes bandwidth allocation and reduces packet drops for each traffic type while maintaining overall system manageability through modular configuration.
Solution Approach 2:
The patent enables dynamic adjustment of congestion management strategies based on traffic conditions and class requirements. The system can adaptively modify bandwidth allocation and congestion parameters in response to changing network conditions, allowing optimal performance across diverse traffic classes without requiring complex static configuration for each scenario.
3Productivity
If multiple cores are used for parallel packet processing, then throughput increases, but coordination and synchronization become more complex
Solution Approach 1:
The patent segments the packet processing workload into distinct scheduler instances, with each instance assigned to a specific core and responsible for particular traffic classes or queues. This segmentation minimizes inter-core communication and synchronization requirements by creating clear boundaries between core responsibilities, thereby achieving high throughput without proportionally increasing coordination complexity.
Solution Approach 2:
Each scheduler instance on a given core is self-contained and autonomously manages its assigned queues and traffic classes without requiring frequent coordination with other cores. The instances operate independently, making decisions locally based on their configured parameters and current queue states, which reduces the overall system coordination overhead while maintaining high parallel processing efficiency.
Data Source
AI summary
Packets are differentiated based on their traffic class. A traffic class is allocated bandwidth for transmission. One or more core or thread can be allocated to process packets of a traffic class for transmission based on allocated bandwidth for that traffic class. If multiple traffic classes are allocated bandwidth, and a traffic class underutilizes allocated bandwidth or a traffic class is allocated insufficient bandwidth, then allocated bandwidth can be adjusted for a future transmission time slot. For example, a higher priority traffic class with excess bandwidth can share the excess bandwidth with a next highest priority traffic class for use to allocate packets for transmission for the same time slot. In the same or another example, bandwidth allocated to a traffic class depends on an extent of insufficient allocation or underutilization of allocated bandwidth such that a traffic class with insufficient allocated bandwidth in one or more prior time slot can be provided more bandwidth in a current time slot and a traffic class with underutilization of allocated bandwidth can be provided with less allocated bandwidth for a current time slot.


