Self-Scheduling Processor for Multi-Threaded Latency Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face limitations in computation processing capabilities, particularly in speed, energy consumption, and heat dissipation, and struggle with sparse data sets that cause poor cache hit rates and latency tolerance, necessitating a high-performance, energy-efficient architecture for compute-intensive applications like FFTs and FIR filters.

Innovation Solution

A self-scheduling processor architecture with a multi-threaded, 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 a network, enabling efficient parallel processing and dynamic resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing computing systems process sparse data sets, then computation is performed, but cache hit rates deteriorate and memory latency increases

Engineering Contradiction:
Improvecomputation processing capabilityVSAvoidcache hit rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments computation into multiple independent threads that can execute in parallel. Each thread processes portions of sparse data sets independently, allowing the processor to maintain high instruction throughput even when individual threads experience cache misses. The multi-threaded architecture divides the workload so that while some threads wait for memory, others continue executing, effectively masking memory latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor dynamically switches between multiple threads based on their execution state and memory access patterns. When one thread encounters a cache miss and stalls, the processor dynamically activates another thread to execute, creating a dynamic execution flow that maintains high utilization of execution resources despite varying cache performance across different data sets.

Inventive Principle:
Principle #15Dynamics

2Speed

If existing computing systems increase computation speed, then processing capability improves, but energy consumption and heat dissipation worsen

Engineering Contradiction:
Improvecomputation speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The multi-threaded processor ensures continuous useful action by maintaining multiple threads in various execution states. While some threads are executing instructions, others are fetching from memory or waiting for cache responses. This continuity ensures that execution units remain actively productive rather than idle, improving energy efficiency by maximizing the ratio of useful computation to total energy consumption.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The processor employs partial action by allowing threads to execute independently without requiring synchronized memory access. Threads can proceed with computation using available data while memory operations complete asynchronously, eliminating the need to wait for complete data sets before starting computation. This partial execution model reduces energy consumption by avoiding idle waiting states.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If a processor waits for memory responses, then data accuracy is ensured, but execution throughput deteriorates

Engineering Contradiction:
Improvedata accuracyVSAvoidexecution throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The processor segments memory access operations across multiple threads, so that not all threads are blocked by memory responses simultaneously. Each thread independently manages its own memory access timeline, allowing the system to maintain data accuracy for each thread while achieving high aggregate throughput through parallel execution of multiple threads at different stages of their execution cycles.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12106142B2System call management in a user-mode, multi-threaded, self-scheduling processor
Publication Date: 2024.10.01 MICRON TECHNOLOGY INC
  • US12106142B2 patent drawing
  • US12106142B2 patent drawing
  • US12106142B2 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.