Hardware Thread Allocation Control for Low-Overhead Accelerator Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-based thread management in processor multithreading scenarios incurs significant computational overhead, leading to inefficiencies in resource utilization, increased power consumption, and reduced throughput, particularly in low-cost hardware platforms.

Innovation Solution

A hardware-based thread allocation controller that allocates and manages processor threads through hardware programming, reducing computational overhead by directly assigning threads to hardware accelerators based on predefined conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software-based thread management is used, then flexibility and control are maintained, but computational overhead increases significantly

Engineering Contradiction:
Improvethread management flexibilityVSAvoidcomputational overhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent replaces the software-based thread management system with a hardware-based thread allocation controller. This hardware controller directly manages thread allocation to hardware accelerators using dedicated hardware circuits, eliminating the need for software intervention in the thread scheduling process. The hardware controller includes a thread queue management block that operates independently of the software stack, substituting the mechanical/software process with a dedicated hardware mechanism that reduces computational overhead while maintaining operational flexibility.

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

2Adaptability or versatility

If software-based thread management is used, then system control is maintained, but power consumption increases

Engineering Contradiction:
Improvesystem control capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent implements a hardware thread allocation controller that substitutes software-based management with dedicated hardware circuits for thread allocation. This hardware controller manages thread-to-accelerator mapping through hardware logic rather than software execution, significantly reducing the energy consumed by the management process. The hardware controller includes precondition checking logic and thread queue management that operates at the hardware level, eliminating the need for continuous software processing and reducing overall power consumption while preserving system control capability.

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

3Adaptability or versatility

If software-based thread management is used, then flexibility in thread allocation is maintained, but throughput decreases

Engineering Contradiction:
Improvethread allocation flexibilityVSAvoidthroughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based thread management with a hardware thread allocation controller that processes thread allocation decisions at hardware speed. The hardware controller includes a thread queue management block that directly manages thread allocation without software intervention, enabling faster thread-to-accelerator assignment. This hardware-level processing eliminates software scheduling delays and reduces the time between thread generation and accelerator assignment, thereby increasing system throughput while maintaining allocation flexibility through hardware-configurable policies.

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

4Loss of energy

If hardware-based thread allocation controller is implemented, then computational overhead is reduced, but device complexity increases

Engineering Contradiction:
Improvecomputational overheadVSAvoidhardware structure complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent segments the thread management functionality into distinct hardware modules within the thread allocation controller. The hardware controller includes a thread queue management block, a precondition checking unit, and an allocation decision logic, each implemented as separate hardware circuits. This segmentation allows the complex thread management task to be divided into manageable hardware components that can be independently designed and optimized, reducing the overall complexity burden while maintaining low computational overhead.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250355708A1Hardware thread allocation controller
Publication Date: 2025.11.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250355708A1 patent drawing
  • US20250355708A1 patent drawing
  • US20250355708A1 patent drawing

AI summary

A method for a hardware thread allocation controller of a computing device includes receiving, at the hardware thread allocation controller, a processor thread including one or more processing commands to be executed, and one or more preconditions for execution of the processor thread. The processor thread is stored in a thread queue of the hardware thread allocation controller. Based at least in part on detecting that the one or more preconditions for execution are met, the processor thread is assigned to a hardware accelerator of the computing device for execution, wherein the hardware thread allocation controller is configured to receive the processor thread, store the processor thread in the thread queue, and assign the processor thread to the hardware accelerator through hardware programming of the hardware thread allocation controller.