Vector Packed Delta Encoding Instruction for Data Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processor architectures face challenges in efficiently performing delta encoding on packed data elements, which is crucial for data compression and parallel processing tasks, due to limitations in instruction sets and data handling mechanisms.

Innovation Solution

The introduction of a new instruction, VPDELTAENCODE, allows for vector packed delta encoding by subtracting each packed data element in a source vector register from the preceding element and storing the result in the destination vector register, enabling efficient delta encoding across various data element sizes and vector lengths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional instruction sets are used for delta encoding, then existing data handling mechanisms can be utilized, but processing efficiency and data compression performance are limited

Engineering Contradiction:
Improvedata compression efficiencyVSAvoidinstruction set limitations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the delta encoding operation with existing SIMD vector operations by introducing VPDELTAENCODE as a vector packed delta encode instruction. This combines multiple scalar delta encoding operations into a single vector-level operation that processes multiple data elements simultaneously, thereby improving data compression efficiency while leveraging existing processor architecture resources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The VPDELTAENCODE instruction is designed to work with various data element sizes (8-bit, 16-bit, 32-bit, 64-bit) and vector lengths through a unified instruction format. The instruction set architecture supports multiple data granularities within a single instruction mechanism, enabling the same instruction to perform delta encoding across different data types and sizes without requiring separate specialized instructions for each case.

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

2Productivity

If delta encoding is performed on packed data elements, then data compression is enabled, but parallel processing capabilities are limited by existing data handling mechanisms

Engineering Contradiction:
Improveparallel processing capabilitiesVSAvoiddata handling mechanisms
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent segments data into packed vector registers containing multiple data elements of the same size. The VPDELTAENCODE instruction operates on these segmented vector data structures, processing multiple elements in parallel across the vector width. This segmentation enables parallel delta encoding operations while maintaining a simplified interface through a single instruction that handles the entire vector at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from scalar, sequential delta encoding to vector-level parallel operations by adding a new dimension of data organization. Instead of processing one data element at a time through sequential instructions, the system organizes data into vectors and applies delta encoding across multiple elements simultaneously in the vector dimension, thereby enabling parallel processing without complicating the instruction interface.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If new instructions like VPDELTAENCODE are introduced, then data compression performance improves, but instruction set complexity increases

Engineering Contradiction:
Improvedata compression performanceVSAvoidinstruction set architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The VPDELTAENCODE instruction is designed with universal applicability across different data element sizes and vector lengths. By implementing a single instruction that can handle 8-bit through 64-bit data elements and various vector granularities, the patent avoids the need for multiple specialized instructions for each data type, thereby limiting the increase in instruction set complexity while achieving broad performance improvements.

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

Data Source

PatentUS9965282B2Systems, apparatuses, and methods for performing delta encoding on packed data elements
Publication Date: 2018.05.08 INTEL CORP
  • US9965282B2 patent drawing
  • US9965282B2 patent drawing
  • US9965282B2 patent drawing

AI summary

Examples of systems, apparatuses, and methods for performing delta encoding on packed data elements of a source and storing the results in packed data elements of a destination using a single vector packed delta encode instruction are described.