Processor Circuitry for Selective Thread Synchronization Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face inefficiencies in thread execution due to implicit synchronization constraints, which can lead to excessive synchronization and performance limitations, especially when SPMD programs are compiled to SIMD or scalar instructions, making it difficult to identify flexible operation scheduling and synchronization requirements.

Innovation Solution

The introduction of a control register that allows for selective enabling or disabling of implicit thread synchronization, enabling the processor to transition between operational modes that apply or prevent synchronization requirements, thereby determining the relative order of microoperations execution between threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If implicit synchronization constraints are applied to threads of execution, then thread synchronization reliability is improved, but thread execution speed deteriorates due to excessive synchronization delays

Engineering Contradiction:
Improvethread synchronization reliabilityVSAvoidthread execution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies dynamics by making the synchronization constraint configurable rather than fixed. A control register allows the synchronization constraint to be dynamically enabled or disabled based on runtime requirements. When disabled, threads execute without synchronization delays improving speed; when enabled, synchronization reliability is restored. This dynamic switching resolves the contradiction between reliability and speed.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If synchronization requirements are applied to all threads, then execution order control is improved, but execution flexibility deteriorates due to unnecessary synchronization delays

Engineering Contradiction:
Improveexecution order controlVSAvoidexecution flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by allowing different synchronization behaviors for different thread groups. Instead of uniformly applying synchronization to all threads, the control register enables selective application based on specific thread group requirements. This allows local optimization where synchronization is applied only where needed, maintaining execution order control for critical threads while preserving execution flexibility for others.

Inventive Principle:
Principle #3Local quality

3Reliability

If implicit thread synchronization is enabled, then thread coordination reliability is improved, but processor productivity deteriorates due to synchronization overhead

Engineering Contradiction:
Improvethread coordination reliabilityVSAvoidprocessor productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent resolves this contradiction through dynamic configuration. The control register allows the system to switch between synchronized and unsynchronized execution modes based on workload characteristics. For productivity-critical sections, synchronization can be disabled to maximize processor throughput. For coordination-critical sections, synchronization can be enabled to ensure reliability. This dynamic adaptation optimizes overall processor productivity while maintaining necessary coordination reliability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20230409322A1Processor circuitry to determine an enablement state for a constraint on multiple threads of execution
Publication Date: 2023.12.21 INTEL CORP
  • US20230409322A1 patent drawing
  • US20230409322A1 patent drawing
  • US20230409322A1 patent drawing

AI summary

Techniques and mechanisms for determining a relative order in which respective microoperations of execution threads are performed. In an embodiment, a processor comprises a control register and circuitry which enables an executing program to set a control parameter which is provided by the control register. The control parameter determines whether the processor is to provide a control which applies one or more synchronization requirements to threads of execution which are of the same thread group. In another embodiment, the control is configurable to selectively provide implicit synchronization between some or all such threads.