Parallel Data Decompression Using Speculative Token Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data decompression methods are sequential and bottlenecked by the need to decode each token in a compressed bitstream before others, limiting decompression throughput and requiring significant computational resources, especially for large files.

Innovation Solution

The method employs speculative decoding with a training phase to identify valid tokens, allowing parallel processing of compressed data segments, which reduces the computational overhead and increases decompression speed by up to 900% through parallel threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential decoding of compressed data is used, then decoding accuracy is maintained, but decompression throughput is limited and computational resources are significantly consumed

Engineering Contradiction:
Improvedecompression throughputVSAvoiddecompression time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The compressed data bitstream is divided into multiple segments that can be processed in parallel. Each segment is assigned to a different processing thread, allowing simultaneous decoding operations. The segmentation enables the system to overcome the sequential bottleneck while maintaining decoding accuracy through proper segment boundary management and validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A training phase is performed before parallel decoding to identify valid token positions and establish segment boundaries. This preliminary action prepares the data structures and validates the segmentation approach, ensuring that subsequent parallel decoding operations can proceed efficiently without compromising accuracy.

Inventive Principle:
Principle #10Preliminary action

2Speed

If parallel processing is implemented, then decompression speed increases by up to 900%, but computational overhead and complexity increase

Engineering Contradiction:
Improvedecompression speedVSAvoidprocessing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The data is segmented into independent processing units that can be handled by multiple threads simultaneously. This segmentation reduces the complexity of managing parallel operations by creating well-defined, independent work units with clear boundaries, making the parallel processing system more manageable despite the increased thread count.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Data structures such as segment tables and validation buffers act as intermediaries between the parallel decoding threads and the final output. These intermediary structures coordinate the parallel operations, manage data flow between threads, and ensure proper merging of results, thereby reducing the overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If speculative decoding with training phase is used, then parallel processing becomes feasible, but initial processing overhead increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidtraining phase time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The training phase performs preliminary analysis of the compressed data to identify valid token positions and establish segment boundaries before parallel decoding begins. This upfront preparation enables the subsequent parallel processing to proceed efficiently without needing to validate each segment during execution, making the initial time investment worthwhile.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The training phase performs more analysis than strictly necessary for single-threaded decoding, identifying all valid token positions and potential segment boundaries in advance. This excessive preliminary action creates a comprehensive data structure that greatly facilitates parallel processing, allowing the system to trade initial processing time for significant speedups during the actual decompression operation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10320414B2Methods and apparatus to parallelize data decompression
Publication Date: 2019.06.11 INTEL CORP
  • US10320414B2 patent drawing
  • US10320414B2 patent drawing
  • US10320414B2 patent drawing

AI summary

This application sets forth methods and apparatus to parallelize data decompression. An example method selecting initial starting positions in a compressed data bitstream; adjusting a first one of the initial starting positions to determine a first adjusted starting position by decoding the bitstream starting at a training position in the bitstream, the decoding including traversing the bitstream from the training position as though first data located at the training position is a valid token; outputting first decoded data generated by decoding a first segment of the bitstream starting from the first adjusted starting position; and merging the first decoded data with second decoded data generated by decoding a second segment of the bitstream, the decoding of the second segment starting from a second position in the bitstream and being performed in parallel with the decoding of the first segment, and the second segment preceding the first segment in the bitstream.