Multi-processor Queue Management with Dynamic Affinity Strictness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-processor systems face challenges in efficiently distributing tasks among processors to achieve balanced load and minimize latency and task drop rates, as existing methods fail to adaptively manage queue lengths and affinity strictness effectively.
Innovation Solution
The implementation of a classifier and queue management logic that classifies tasks into processor queues based on queue lengths, setting an affinity strictness measure to determine task assignment, using a 7-threshold model and flow-aware policies to manage queue lengths and prioritize task processing, allowing tasks to spill to other queues when necessary, and adapting spill thresholds according to queue conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If tasks are strictly assigned to a default queue to maintain affinity, then processor affinity is improved, but load balancing deteriorates when the default queue is overloaded
Solution Approach 1:
The system dynamically adjusts the affinity strictness measure based on queue length conditions. When the default queue length is below a threshold, strict affinity is enforced; when it exceeds the threshold, the system transitions to a more flexible state allowing tasks to be assigned to non-default queues, thus adapting to changing load conditions
Solution Approach 2:
The affinity strictness measure is modified as a controllable parameter based on queue length monitoring. The system changes this parameter from a fixed value to a dynamic one that adjusts according to the default queue's occupancy level, enabling optimal balance between affinity and load distribution
2Productivity
If tasks are allowed to spill to non-default queues to improve load balancing, then productivity is improved, but processor affinity deteriorates
Solution Approach 1:
The system uses dynamic control of the affinity strictness measure that transitions between strict and flexible modes based on real-time queue length monitoring, allowing the system to optimize for either affinity or load balancing depending on current conditions
Solution Approach 2:
The queue length of the default queue serves as feedback to control the affinity strictness measure. When the queue length exceeds a threshold, the system receives feedback to relax affinity constraints and allow spillover to non-default queues, creating a closed-loop control system
3Reliability
If the affinity strictness measure is set to high values, then task processing consistency is improved, but queue length increases causing higher latency
Solution Approach 1:
The system continuously monitors queue length as feedback and uses it to adjust the affinity strictness measure, creating a self-regulating mechanism that prevents queue overflow and associated latency while maintaining processing consistency when conditions permit
Solution Approach 2:
The affinity strictness measure transitions from a static high value to a dynamic parameter that decreases when queue length exceeds thresholds, allowing the system to maintain consistency under normal conditions while preventing latency under heavy load
4Measurement precision
If the default queue is monitored with multiple thresholds, then queue management precision is improved, but system complexity increases
Solution Approach 1:
The queue length monitoring is segmented into multiple discrete thresholds (first threshold and second threshold) that divide the continuous queue length range into distinct operational zones, each triggering a specific affinity strictness measure, making the complex behavior manageable through clear segmentation
Data Source
AI summary
An apparatus includes multiple processors, a classifier and queue management logic. The classifier is configured to classify tasks, which are received for execution by the processors, into multiple processor queues, each processor queue associated with a single processor or thread, and configured to temporarily store task entries that represent the tasks, and to send the tasks for execution by the associated processors. The queue management logic is configured to set, based on queue-lengths of the queues, an affinity strictness measure that quantifies a strictness with which the tasks of a same classified queue are to be processed by a same processor, and to assign the task entries to the queues while complying with the affinity strictness measure.


