Synchronous Microthreading for Irregular Data-Parallel Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern out-of-order processors often have idle functional units, limiting the ability to exploit hardware parallelism in workloads, especially in data-parallel applications with irregular control and data flow, due to overheads in existing GPGPU architectures and spatial accelerators, which prevent efficient acceleration of parallel codes and leverage of existing parallel code.

Innovation Solution

Synchronous Microthreading (SyMT) is a hardware/software technique that accelerates data-parallel applications by allowing fine-grained parallelism without exposing vector width to programmers, decoupling it from architecture, enabling multiple vector-width implementations and handling regular and irregular control/data flow, and providing low-latency offload mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If GPGPU architectures are used to accelerate data-parallel applications, then parallel processing capability is improved, but overhead and complexity increase, preventing efficient acceleration

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidarchitecture overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the microthread execution capability from traditional GPGPU architectures and integrates it directly into the host processor core. This allows the processor to execute multiple microthreads simultaneously using existing functional units, eliminating the need for separate GPGPU hardware and reducing overall system complexity while maintaining parallel processing capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges microthread execution functionality with the host processor core by implementing a unified execution model where scalar and vector functional units can execute microthreads. This integration combines the benefits of CPU control with GPU-like parallelism, reducing overhead while improving productivity

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If spatial accelerators are used for parallel processing, then acceleration capability is improved, but adaptability to irregular control and data flow deteriorates

Engineering Contradiction:
Improveacceleration capabilityVSAvoidhandling of irregular control and data flow
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic microthread execution where the processor can adaptively schedule and execute microthreads based on irregular control flow patterns and data dependencies. The out-of-order execution engine dynamically adjusts instruction issuance to handle varying control flow, maintaining high acceleration capability while adapting to irregular workloads

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If vector ISA constraints are imposed on programmers, then implementation simplicity is improved, but programming flexibility and portability deteriorate

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprogramming flexibility and portability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent segments the parallel processing functionality into lightweight microthreads that can be managed independently. Each microthread represents a fine-grained unit of execution that can be scheduled and executed separately, allowing programmers to write flexible, portable code without being constrained by fixed vector ISA requirements while maintaining simple implementation through standardized microthread interfaces

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230315444A1Synchronous microthreading
Publication Date: 2023.10.05 INTEL CORP
  • US20230315444A1 patent drawing
  • US20230315444A1 patent drawing
  • US20230315444A1 patent drawing

AI summary

Techniques for synchronous microthreaded execution are described. An example includes a logical processor to execute one or more threads in a first mode; and a synchronous microthreading (SyMT) co-processor coupled to the logical processor to execute lightweight microthreads, with each lightweight microthread having an independent register state, upon an execution of an instruction to enter into SyMT mode.