Out-of-Order Task Error Checking via Pointer Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In out-of-order execution of compute tasks, conventional error-checking methods are inefficient as they require re-reading data from memory when a compute task is executed, leading to redundancy.

Innovation Solution

A method that involves receiving a pointer to a compute task, storing it in a scheduling queue, and only retrieving it for error-checking when determined eligible for execution, thereby avoiding redundant data reads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional error-checking method is used in out-of-order execution, then error-checking is performed upon receipt of compute task data, but data must be re-read from memory when execute which causes redundant memory reads and inefficiency

Engineering Contradiction:
Improveerror-checkingVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs error-checking as a preliminary action when the compute task pointer is received and stored in the scheduling queue, before the actual execution occurs. This preliminary error-check ensures that when the task is later retrieved and executed, no redundant memory reads are needed for verification, thus resolving the contradiction between maintaining reliability through error-checking and improving productivity by avoiding repeated memory accesses.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If compute task data is read from memory for error-checking upon receipt, then error-checking can be performed, but in out-of-order execution the data must be re-read when executed leading to redundancy

Engineering Contradiction:
Improvedata validationVSAvoidmemory access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The error-checking operation is performed in advance when the compute task pointer is received, storing the validated pointer in the scheduling queue. This preliminary validation eliminates the need for time-consuming memory re-reads during execution, directly addressing the contradiction between ensuring data validity and minimizing memory access time delays.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all compute task data is received and error-checked before queuing, then error-checking is thorough, but in out-of-order execution this requires storing all data which is inefficient compared to pointer-only storage

Engineering Contradiction:
Improveerror-detectionVSAvoidmemory storage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential error-checking function from the complete compute task data, performing validation on the task pointer itself rather than requiring all task data to be present and stored. This extraction approach maintains reliable error-detection while dramatically reducing the quantity of data that needs to be stored in memory, resolving the contradiction between thorough validation and memory efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9965321B2Error checking in out-of-order task scheduling
Publication Date: 2018.05.08 NVIDIA CORP
  • US9965321B2 patent drawing
  • US9965321B2 patent drawing
  • US9965321B2 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for error-checking a compute task. The technique involves receiving a pointer to a compute task, storing the pointer in a scheduling queue, determining that the compute task should be executed, retrieving the pointer from the scheduling queue, determining via an error-check procedure that the compute task is eligible for execution, and executing the compute task.