Multi-processor Queue Management with Dynamic Affinity Strictness

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessor affinityVSAvoidload balancing
Core Design Contradiction:
Stability of the object's compositionVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

2Productivity

If tasks are allowed to spill to non-default queues to improve load balancing, then productivity is improved, but processor affinity deteriorates

Engineering Contradiction:
Improveload balancingVSAvoidprocessor affinity
Core Design Contradiction:
ProductivityVSStability of the object's composition

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #23Feedback

3Reliability

If the affinity strictness measure is set to high values, then task processing consistency is improved, but queue length increases causing higher latency

Engineering Contradiction:
Improvetask processing consistencyVSAvoidtask latency
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #23Feedback

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

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If the default queue is monitored with multiple thresholds, then queue management precision is improved, but system complexity increases

Engineering Contradiction:
Improvequeue length monitoringVSAvoidqueue management logic
Core Design Contradiction:
Measurement precisionVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11182205B2Multi-processor queuing model
Publication Date: 2021.11.23 MELLANOX TECHNOLOGIES LTD(IL)
  • US11182205B2 patent drawing
  • US11182205B2 patent drawing
  • US11182205B2 patent drawing

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.