Self-Scheduling Multi-Threaded Processor for Memory Latency Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face limitations in computation processing speed, energy efficiency, and heat dissipation, particularly when handling sparse data sets and compute-intensive kernels like Fast Fourier Transforms and finite impulse response filters, which require high parallel processing and are sensitive to memory latency.

Innovation Solution

A self-scheduling, multi-threaded processor architecture with a hybrid computing system that allows threads to execute instructions independently of memory latency, featuring a core control circuit that automatically schedules instructions and manages thread execution across local or remote compute elements, enabling efficient execution of compute-intensive tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional computing systems process compute-intensive kernels with sparse data sets, then processing speed is improved, but cache hit rates deteriorate and memory latency increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcache hit rate
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system segments computation into multiple independent threads that can execute in parallel. Each thread processes a portion of the sparse data set, allowing the processor to maintain high instruction throughput even when individual threads experience cache misses. The segmentation of work into manageable thread units enables efficient utilization of available processing resources while tolerating memory latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The multi-threaded architecture ensures continuity of useful action by allowing other threads to execute while one thread waits for memory access. This keeps the processor pipeline full and maintains high instruction throughput despite memory latency. The system continuously performs useful computation across multiple threads rather than stalling the entire processor.

Inventive Principle:
Principle #20Continuity of useful action

2Productivity

If existing computing systems increase computation processing capabilities, then performance is improved, but energy consumption and heat dissipation worsen

Engineering Contradiction:
Improvecomputation processing capabilityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The self-scheduling processor automatically manages thread execution and resource allocation without requiring external intervention. The processor monitors its own execution state and dynamically schedules threads to maintain high utilization while minimizing idle cycles. This self-service capability enables the system to achieve high computational throughput with optimized energy efficiency, as the processor adapts its operation to actual workload demands rather than operating at fixed high power states.

Inventive Principle:
Principle #25Self-service

3Productivity

If a processor architecture implements significant parallel processing, then productivity is improved, but device complexity worsens

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor implements a universal thread execution model that can handle various types of compute-intensive workloads through the same multi-threaded architecture. The self-scheduling mechanism and thread management infrastructure provide multi-functional capability, allowing the same hardware to efficiently process different kinds of kernels (FFT, FIR filters, graph analytics) without requiring specialized processing units for each application type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11513838B2Thread state monitoring in a system having a multi-threaded, self-scheduling processor
Publication Date: 2022.11.29 MICRON TECHNOLOGY INC
  • US11513838B2 patent drawing
  • US11513838B2 patent drawing
  • US11513838B2 patent drawing

AI summary

Representative apparatus, method, and system embodiments are disclosed for a self-scheduling processor which also provides additional functionality. Representative embodiments include a self-scheduling processor, comprising: a processor core adapted to execute a received instruction; and a core control circuit adapted to automatically schedule an instruction for execution by the processor core in response to a received work descriptor data packet. In another embodiment, the core control circuit is also adapted to schedule a fiber create instruction for execution by the processor core, to reserve a predetermined amount of memory space in a thread control memory to store return arguments, and to generate one or more work descriptor data packets to another processor or hybrid threading fabric circuit for execution of a corresponding plurality of execution threads. Event processing, data path management, system calls, memory requests, and other new instructions are also disclosed.