Thread Management Processor for Reproducible Multi-Thread Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-threaded application programs face reproducibility issues due to operating system intervention, leading to unpredictable task processing order as the number of threads increases, making it difficult to analyze and ensure consistent simulation results.

Innovation Solution

A computing device with a processor and thread management processor that concurrently executes threads in an activated state and converts them to a wait state upon task completion, allowing all threads to be reset to an activated state when in a wait state, ensuring sequential and concurrent task processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-thread structure is used to improve processing efficiency, then productivity is improved, but reproducibility deteriorates due to operating system intervention

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidreproducibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the multi-threaded application execution into distinct phases: a first execution phase where threads run with normal OS scheduling, and a second execution phase where threads run in a reproducible mode with suspended OS scheduling. This segmentation allows the system to enjoy both high productivity during normal execution and high reproducibility during the controlled second phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by setting up a controlled execution environment before the critical execution phase. The thread management processor is configured to suspend OS scheduling interventions in advance, and to prepare the thread execution context so that when the second execution phase begins, all threads can run in a deterministic, reproducible manner without OS interference.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If number of threads is increased to handle more tasks, then productivity is improved, but reproducibility deteriorates due to unpredictable task processing order

Engineering Contradiction:
Improvetask processing capacityVSAvoidtask processing order consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary configuration of thread execution priorities and scheduling parameters before entering the reproducible execution phase. The thread management processor pre-establishes a deterministic scheduling policy that ensures consistent task processing order across multiple executions, regardless of the number of threads involved.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements periodic execution phases where the system alternates between normal multi-threaded execution and controlled reproducible execution. During the reproducible phases, threads execute in a predetermined sequence with suspended OS scheduling, ensuring that task processing order remains consistent across multiple runs while still allowing high thread counts for productivity.

Inventive Principle:
Principle #19Periodic action

3Ease of operation

If operating system scheduling is used for thread management, then ease of operation is improved, but reproducibility deteriorates due to intervention in thread execution

Engineering Contradiction:
Improvethread management convenienceVSAvoidexecution reproducibility
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments thread management into two distinct modes: normal OS-managed scheduling for ease of operation during development and testing, and a controlled reproducible scheduling mode for consistent execution. The thread management processor automatically switches between these modes, allowing developers to enjoy OS convenience during setup while ensuring reproducibility during critical execution phases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The thread management processor acts as an intermediary between the operating system and the application threads. It suspends OS scheduling interventions during the reproducible execution phase while maintaining thread management functionality, thus preserving ease of operation through automatic mode switching while eliminating OS-induced non-determinism during critical executions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240370262A1Computing device and method of scheduling for executing plurality of threads
Publication Date: 2024.11.07 SAMSUNG ELECTRONICS CO LTD
  • US20240370262A1 patent drawing
  • US20240370262A1 patent drawing
  • US20240370262A1 patent drawing

AI summary

A computing device is provided. The computing device includes: a memory configured to load an application program including a plurality of threads; a processor configured to concurrently execute threads that are in a first state, and to convert a thread, which completes processing of at least one task distributed among the plurality of threads, from among the plurality of threads, from the first state into a second state, wherein the first state corresponds to an activated state in which a thread processes the at least one task, and the second state corresponds to a wait state; and a thread management processor configured to set all of the plurality of threads to the first state based on all of the plurality of threads being in the second state.