A 43.3 bit/cycle Inflate Accelerator Featuring Static-Dynamic Huffman Decoder with Multiple Checkpoints and Optimized End-Of-Block Control for Hyperscale data

Today’s explosively growing data volumes and the high storage cost make compression crucial for the Big Data industry. Deflate is a widely used lossless compression format that incorporates the LZ77 algorithm, which replaces repeated character strings with <length, distance> pairs, and the Huffman algorithm, which recodes characters based on their frequency of occurrence. The decoding process for a deflate-encoded file is called inflate. The decompression speed is critical, as stored data are typically compressed once but repeatedly decompressed for use in data processing systems. Consequently, strategies have been developed to enhance the decompression speed of inflate. The main challenge in improving inflate throughput lies in the data dependencies that invalidate parallel operations in Huffman decoding. Some studies [1], [2] have modified the deflate format to eliminate these data dependencies and achieve parallelism, but this approach results in incompatibility with existing inflate implementations. A speculative Huffman decoder for the GZIP decompressor, as proposed in [3], improves parallelism, resulting in a 69% increase in throughput. However, a single index checkpoint cannot ensure the success of the speculative thread (ST), which affects inflate throughput. Additionally, the ST stops when it encounters an end-of-block (EOB) marker and only restarts after the primary thread (PT) meets an EOB, limiting the ST’s efficiency. When Huffman decoding is accelerated, the throughput of the LZ77 decoder may become the critical path. The LZ77 decoder can be parallelized using a two-pass method. Other approaches [4], [5] cyclically partition the history buffer to access multiple memory locations simultaneously.

Authors

Institutions

Publication Details

Published
2024-11-18
DOI
https://doi.org/10.1109/a-sscc60305.2024.10848802
Primary Topic
Advanced Data Compression Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A 43.3 bit/cycle Inflate Accelerator Featuring Static-Dynamic Huffman Decoder with Multiple Checkpoints and Optimized End-Of-Block Control for Hyperscale data

Xianglong Wang, Fengwei An, Wei Zhang, Lei Chen et al.
Advanced Data Compression Techniques
article

A 43.3 bit/cycle Inflate Accelerator Featuring Static-Dynamic Huffman Decoder with Multiple Checkpoints and Optimized End-Of-Block Control for Hyperscale data

Xianglong Wang, Fengwei An, Wei Zhang, Lei Chen, Guodong Wang, Gang Shi, Jiaqi Ouyang, Yiwei Luo, Yangyi Zhang
article en

Abstract

Today’s explosively growing data volumes and the high storage cost make compression crucial for the Big Data industry. Deflate is a widely used lossless compression format that incorporates the LZ77 algorithm, which replaces repeated character strings with <length, distance> pairs, and the Huffman algorithm, which recodes characters based on their frequency of occurrence. The decoding process for a deflate-encoded file is called inflate. The decompression speed is critical, as stored data are typically compressed once but repeatedly decompressed for use in data processing systems. Consequently, strategies have been developed to enhance the decompression speed of inflate. The main challenge in improving inflate throughput lies in the data dependencies that invalidate parallel operations in Huffman decoding. Some studies [1], [2] have modified the deflate format to eliminate these data dependencies and achieve parallelism, but this approach results in incompatibility with existing inflate implementations. A speculative Huffman decoder for the GZIP decompressor, as proposed in [3], improves parallelism, resulting in a 69% increase in throughput. However, a single index checkpoint cannot ensure the success of the speculative thread (ST), which affects inflate throughput. Additionally, the ST stops when it encounters an end-of-block (EOB) marker and only restarts after the primary thread (PT) meets an EOB, limiting the ST’s efficiency. When Huffman decoding is accelerated, the throughput of the LZ77 decoder may become the critical path. The LZ77 decoder can be parallelized using a two-pass method. Other approaches [4], [5] cyclically partition the history buffer to access multiple memory locations simultaneously.

Southern University of Science and Technology (CN)
Openalex Percentile: Top 74%
Advanced Data Compression Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.