Hardware Queue Manager for Dynamic Task Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for load-balancing and order-restoring in Chip Multiprocessor (CMP) platforms rely heavily on software, leading to significant performance and bandwidth drains due to overhead costs.

Innovation Solution

Implementing a Hardware Queue Manager (HQM) with task distribution circuitry, history lists, ordering queues, and ready/replay queues to dynamically balance tasks across processing units while maintaining original order, offloading software-processing tasks to hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software techniques are used for load-balancing and order-restoring, then implementation flexibility is maintained, but processor performance and bandwidth are significantly drained due to overhead

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidprocessor performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based load-balancing and order-restoring mechanisms with a dedicated hardware queue manager. The hardware queue manager uses hardware queues, pointers, and control logic to dynamically balance tasks across consumers and restore results to original queue order, eliminating the need for software intervention and significantly reducing overhead while maintaining implementation flexibility.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Device complexity

If software techniques are used for load-balancing and order-restoring, then system complexity is managed through software control, but bandwidth consumption increases due to processing overhead

Engineering Contradiction:
Improvesystem complexityVSAvoidbandwidth consumption
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent extracts the load-balancing and order-restoring functions from the software layer and implements them in dedicated hardware circuitry. The hardware queue manager independently manages task distribution and result reordering using hardware queues and pointers, eliminating the need for software processing and significantly reducing bandwidth consumption while maintaining manageable system complexity through modular hardware design.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If tasks are dynamically balanced across consumers, then processing throughput is improved, but maintaining original queue order becomes more difficult

Engineering Contradiction:
Improveprocessing throughputVSAvoidqueue order maintenance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where consumers send completion signals back to the hardware queue manager. The queue manager tracks which consumers have completed which tasks and uses this feedback information to correctly reassemble and restore results to the original queue order, ensuring both high throughput through dynamic balancing and reliable order maintenance through comprehensive tracking and feedback loops.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10437638B2Method and apparatus for dynamically balancing task processing while maintaining task order
Publication Date: 2019.10.08 INTEL CORP
  • US10437638B2 patent drawing
  • US10437638B2 patent drawing
  • US10437638B2 patent drawing

AI summary

Apparatus and method for multi-core dynamically-balanced task processing while maintaining task order in chip multiprocessor platforms. One embodiment of an apparatus includes: a distribution circuitry to distribute, among a plurality of processing units, tasks from one or more workflows; a history list to track all tasks distributed by the distribution circuitry; an ordering queue to store one or more sub-tasks received from a first processing unit as a result of the first processing unit processing a first task; and wherein, responsive to a detection that all sub-tasks of the first task have been received and that the first task is the oldest task for a given parent workflow tracked by the history list, all sub-tasks associated with the first task are to be placed in a replay queue to be replayed in the order in which each sub-task was received.