Parallel Variable-Length Data Decompression Using Overlapping Decode
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Decompression of large data sets is typically done sequentially, which is time-consuming due to processor speed and resource constraints, limiting the speed at which data can be decoded.
Innovation Solution
Decompressing variable-length coded data in parallel by transferring compressed files from a CPU to a GPU for decompression, utilizing parallel processors and specialized hardware like GPUs, FPGAs, or ASICs to perform operations such as Huffman decoding and LZ77 decompression efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If sequential decompression is used on CPU, then resource constraints are manageable, but decompression time increases significantly
Solution Approach 1:
The patent divides the decompression task into multiple independent segments that can be processed simultaneously. The compressed data is split into chunks, and multiple GPU threads work on different segments in parallel, eliminating the sequential bottleneck while maintaining manageable resource usage through distributed processing.
Solution Approach 2:
The patent introduces a hybrid CPU-GPU system where the CPU prepares and manages data segments while the GPU performs the actual decompression operations. This intermediary architecture allows the CPU to handle resource management efficiently while the GPU provides high-speed parallel processing, resolving the contradiction between resource constraints and decompression speed.
2Productivity
If parallel processing with GPU is used, then decompression speed increases, but device complexity increases
Solution Approach 1:
The patent designs a universal decompression system that can handle multiple compression formats (Huffman, LZ77, etc.) through a single GPU-based parallel processing architecture. This multi-functional approach increases decompression speed while managing device complexity by using a unified processing framework rather than separate specialized hardware for each format.
Solution Approach 2:
The GPU-based parallel processing system is designed to be self-sufficient for the decompression task, with the CPU only handling data preparation and result collection. The GPU automatically manages its own parallel thread execution and resource allocation, reducing the overall system complexity despite the increased processing power.
3Productivity
If specialized hardware like GPU is used, then processing throughput increases, but hardware resource requirements increase
Solution Approach 1:
The patent implements partial parallel processing where only the computationally intensive decompression portions are offloaded to the GPU, while less demanding tasks remain on the CPU. This selective approach increases throughput for the critical path operations while avoiding the need to provision excessive GPU resources for all processing tasks.
Solution Approach 2:
The CPU performs preliminary data preparation and segmentation before transferring data to the GPU for parallel processing. This preliminary action optimizes the data structure for GPU processing, enabling higher throughput while minimizing the hardware resources needed by the GPU, as the data is already organized for efficient parallel access.
Data Source
AI summary
Apparatuses, systems, and techniques to decompress data in parallel. In at least one embodiment, decompressing a variable-length-coded data stream speculatively decodes overlapping portions of said data stream to determine locations to begin correctly decoding said data stream.


