Thread Identifier Reuse Across Pipeline Stages for Concurrent Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing thread management systems face inefficiencies in managing parallel threads due to inconsistent execution times, particularly when memory access operations or peripheral device access is involved, leading to limited concurrency and inefficient use of context storage resources.

Innovation Solution

A system that allows reusing thread identifiers across different stages of the pipeline, enabling out-of-order execution and optimizing context storage by associating threads with context storages using a token-based mechanism to ensure identifier availability, thereby increasing the number of concurrent threads that can be executed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If unique identifiers are used for each thread throughout the pipeline, then thread context identification is simple and reliable, but context storage resources are wasted and concurrency is limited

Engineering Contradiction:
Improvethread context identification reliabilityVSAvoidcontext storage resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making thread identifiers changeable rather than fixed. Each thread is assigned an identifier at each pipeline stage independently, allowing identifiers to be dynamically allocated and reused across stages. This dynamic approach enables the system to maintain reliable thread identification at each stage while reducing overall storage requirements by reusing identifiers that are no longer needed in previous stages.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the pipeline into multiple stages, each with its own context storage. Instead of using a single large storage for all threads throughout the entire pipeline, the system divides the pipeline into segments (stages) and allocates identifiers locally at each segment. This segmentation allows identifiers to be reused across different stages while maintaining reliable identification within each stage.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more concurrent threads are executed, then throughput increases and latency decreases, but context storage resources become insufficient

Engineering Contradiction:
Improvesystem throughputVSAvoidcontext storage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of identifier uniqueness from global (across entire pipeline) to local (within each stage). By making identifiers stage-specific rather than globally unique, the system can support more concurrent threads overall while maintaining sufficient storage capacity at each individual stage. This parameter change enables higher throughput without requiring proportional increases in total storage resources.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If threads wait for consistent execution completion, then execution reliability is maintained, but latency increases due to unpredictable operation times

Engineering Contradiction:
Improveexecution consistencyVSAvoidthread execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the execution pipeline into multiple stages, allowing threads to be suspended and resumed at different stages independently. This segmentation enables out-of-order execution where threads don't need to wait for all previous threads to complete before proceeding, reducing latency while maintaining reliability through proper context management at each stage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dynamic identifier allocation allows threads to be efficiently managed across stages, enabling the system to optimize execution timing. Threads can be suspended when encountering unpredictable latency operations and resumed later without identifier conflicts, allowing more flexible execution scheduling that reduces overall latency while maintaining execution reliability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12461752B1Reusing thread identification values when executing concurrent threads
Publication Date: 2025.11.04 NEXTSILICON LTD
  • US12461752B1 patent drawing
  • US12461752B1 patent drawing
  • US12461752B1 patent drawing

AI summary

A system for executing multiple concurrent threads, comprising: context storages, each configured to store thread contexts, each context for one of the multiple threads, each of the context storages associated with an operation of the threads; and processing circuitry configured to: while a first and a second thread are executed simultaneously by the circuitry: store a first context of the first thread in a first storage, identified in the first storage by a value; store a second context of the second thread in a second storage, identified in the second storage by the value; and upon completing execution of a first operation of the first thread, the operation associated with the first storage, when applying a test to the value indicates that the value is available in the second storage, store the first context in the second storage, the first context identified in the second storage by the value.