SIMD Vector RLE Compression for Repeated Data Elements

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current instruction set architectures lack an efficient mechanism for compressing data elements in vector operations, particularly in scenarios where frequent occurrences of specific values, such as zeros, are present, leading to suboptimal data compression and decompression processes.

Innovation Solution

The introduction of a vector frequency compress instruction that implements Run-Length Encoding (RLE) by encoding sequences of identical data elements as a single value followed by a count, allowing for efficient compression and decompression of data elements in vector registers, specifically designed for processors with SIMD capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional vector operations are used without compression instructions, then data processing can proceed at normal speed, but data storage efficiency and bandwidth utilization remain suboptimal due to lack of compression

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent changes the parameter representation by encoding data elements in a compressed format (run-length encoding) where sequences of identical values are represented by a single value and a count. This parameter transformation enables more efficient storage and transmission while maintaining the ability to process data at required speeds through dedicated compression instructions.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If data compression is implemented using software routines, then data storage efficiency improves, but processing speed decreases due to the overhead of software intervention

Engineering Contradiction:
Improvedata compression ratioVSAvoidprocessing throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent replaces software-based compression routines with hardware-level SIMD instructions that can be executed directly by the processor. This substitution eliminates the overhead of software interpretation and enables compression operations to proceed at speeds comparable to native vector operations, thereby maintaining high processing throughput while achieving effective data compression.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The compression instructions are designed to work with existing SIMD instruction sets and can operate on various data types and formats. The same instruction framework handles both compressed and uncompressed data paths, allowing the system to achieve compression benefits without requiring separate processing pipelines or sacrificing processing throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of energy

If Run-Length Encoding is applied to compress sequences of identical values, then data bandwidth and storage efficiency improve, but the complexity of decompression operations increases

Engineering Contradiction:
Improvedata bandwidth utilizationVSAvoiddecompression logic complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent replaces complex software decompression logic with optimized SIMD instructions that can efficiently expand run-length encoded data. The hardware-level implementation uses vectorized operations to simultaneously process multiple compression blocks, reducing the effective complexity of decompression while improving bandwidth utilization through efficient memory access patterns.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP2798480B1Vector frequency compress instruction
Publication Date: 2018.09.26 INTEL CORP
  • EP2798480B1 patent drawingFigure 1
  • EP2798480B1 patent drawingFigure 2
  • EP2798480B1 patent drawingFigure 3

AI summary

A processor core that includes a hardware decode unit to decode a vector frequency compress instruction that includes a source operand and a destination operand. The source operand specifying a source vector register that includes a plurality of source data elements including one or more runs of identical data elements that are each to be compressed in a destination vector register as a value and run length pair. The destination operand identifies the destination vector register. The processor core also includes an execution engine unit to execute the decoded vector frequency compress instruction which causes, for each source data element, a value to be copied into the destination vector register to indicate that source data element's value. One or more runs of the source data elements equal are encoded in the destination vector register as the predetermined compression value followed by a run length for that run.