Processor Pipeline Extensions for Sparse Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep neural networks require significant computational and memory resources for training, which exceeds the capabilities of a single commodity server, especially due to the inefficiencies in processing and storing sparse data with many zero values.

Innovation Solution

Implementing processor and memory system extensions that utilize zero-optimizable instructions to bypass unnecessary processing stages and efficiently track zero data at a cache line granularity, reducing execution cycles and storage costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processor pipelines process all instructions through execute and writeback stages, then complete instruction processing is achieved, but computational resources are wasted on zero-optimizable instructions

Engineering Contradiction:
Improveinstruction processing throughputVSAvoidcomputational resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts zero-optimizable instructions from the normal instruction processing flow by adding front-end extensions that detect these instructions and route them through a simplified path that bypasses the execute and writeback stages. This separation allows the processor to handle zero-optimizable instructions more efficiently while maintaining normal processing for other instructions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The processor pipeline is segmented into different processing paths: a full path for regular instructions (fetch, decode, execute, writeback, commit) and a simplified path for zero-optimizable instructions (fetch, decode, commit). This segmentation enables selective optimization based on instruction type without compromising the完整性 of standard instruction processing.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If dense cache structures store all cache lines with full tags, then cache coverage is maximized, but memory resources are wasted on zero cache lines

Engineering Contradiction:
Improvecache storage capacityVSAvoidmemory resource waste
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The patent applies local quality by creating a specialized zero cache with a compact tag-only structure specifically for storing zero cache lines, while the main data cache continues to store non-zero cache lines with full tags and data. This localized optimization reduces memory usage for zero cache lines without affecting the functionality of the main cache for non-zero data.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of storing full cache line data for zero cache lines as in traditional caches, the patent inverts the approach by storing only the cache tags in a separate zero cache structure. The actual zero data is implicitly represented, eliminating the need to allocate memory for storing redundant zero values while maintaining cache functionality.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If processor pipelines process all instructions through complete stages, then instruction accuracy is ensured, but execution time increases for zero-optimizable instructions

Engineering Contradiction:
Improveinstruction execution accuracyVSAvoidinstruction execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by detecting zero-optimizable instructions in the front-end of the pipeline before they reach the execute stage. The detection and routing decision is made in advance, allowing the instruction to be committed directly without undergoing unnecessary execute and writeback stages, thus reducing execution time while maintaining correctness through proper detection logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10592252B2Efficient instruction processing for sparse data
Publication Date: 2020.03.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10592252B2 patent drawing
  • US10592252B2 patent drawing
  • US10592252B2 patent drawing

AI summary

Efficient instruction processing for sparse data includes extensions to a processor pipeline to identify zero-optimizable instructions that include at least one zero input operand, and bypass the execute stage of the processor pipeline, determining the result of the operation without executing the instruction. When possible, the extensions also bypass the writeback stage of the processor pipeline.