Data Speculation Execution Hardware for Vector Loop Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Vectorizing loops with possible cross-iteration dependences is challenging due to the difficulty in ensuring safe execution without expensive hardware checks, particularly in speculative execution scenarios where memory operations may lead to ordering violations.

Innovation Solution

The introduction of Data Speculation Extension (DSX) hardware and new speculative instructions that provide loop position information and stride to reconstruct scalar memory ordering, allowing software to assist hardware in address checks and reducing the burden on hardware and programmers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vectorized loop execution is implemented without hardware checks, then execution speed is improved, but correctness cannot be guaranteed due to cross-iteration dependences

Engineering Contradiction:
Improveexecution speedVSAvoidcorrectness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces DSX tracking hardware as an intermediary component that mediates between the vectorized loop execution and the correctness guarantee. This tracking hardware monitors memory operations and detects ordering violations without blocking the fast vectorized execution path, thus maintaining high performance while ensuring correctness through selective validation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary tracking of memory addresses and ordering information during the vectorized execution. The DSX tracking hardware proactively collects and validates memory operation metadata before potential correctness issues arise, enabling early detection of ordering violations and preventing incorrect results while maintaining execution speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If expensive hardware checks are implemented to ensure safe vectorized execution, then correctness is guaranteed, but execution time increases

Engineering Contradiction:
ImprovecorrectnessVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial checking by implementing DSX tracking that monitors only the specific memory operations that could cause ordering violations in vectorized loops. Rather than checking all operations, the tracking hardware focuses selectively on load and store operations with potential cross-iteration dependences, providing sufficient correctness validation without the overhead of comprehensive checking.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of validation from comprehensive post-execution verification to lightweight concurrent tracking. The DSX tracking hardware modifies the validation approach by continuously monitoring memory operation order during execution using dedicated tracking registers and comparison logic, enabling real-time correctness detection without stopping or significantly slowing down the vectorized loop execution.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If software assists hardware in address checks, then hardware complexity is reduced, but programming complexity increases

Engineering Contradiction:
Improvehardware complexityVSAvoidprogramming complexity
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements self-service by having the DSX tracking hardware automatically collect memory address information and ordering metadata from executing instructions without requiring explicit software intervention. The tracking hardware autonomously monitors memory operations, compares addresses, and detects violations, freeing programmers from the burden of manual address validation while maintaining reduced hardware complexity through automated tracking.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10061589B2Systems, apparatuses, and methods for data speculation execution
Publication Date: 2018.08.28 INTEL CORP
  • US10061589B2 patent drawing
  • US10061589B2 patent drawing
  • US10061589B2 patent drawing

AI summary

Systems, methods, and apparatuses for data speculation execution (DSX) are described. In some embodiments, a hardware apparatus for DSX comprises decoder hardware to decode a class of instructions to support data speculative execution (DSX) including an instruction to begin a DSX, end a DSX, and speculative instructions to execute during a DSX, and execution hardware to speculatively execute decoded instructions that support DSX including the speculative instructions and update speculative instruction tracking hardware.