TL;DR
Rapidgzip introduces a parallel decompression architecture that efficiently handles arbitrary gzip files using cache prefetching, significantly outperforming traditional gzip in multi-core environments.
Contribution
It generalizes existing parallel gzip decompression methods by removing content restrictions and employing cache prefetching for reliable, high-speed decompression on arbitrary gzip data.
Findings
Achieves 8.7 GB/s decompression bandwidth with 128 cores
Provides a 55x speedup over GNU gzip on base64 data
Attains a 33x speedup on the Silesia corpus
Abstract
Gzip is a file compression format, which is ubiquitously used. Although a multitude of gzip implementations exist, only pugz can fully utilize current multi-core processor architectures for decompression. Yet, pugz cannot decompress arbitrary gzip files. It requires the decompressed stream to only contain byte values 9-126. In this work, we present a generalization of the parallelization scheme used by pugz that can be reliably applied to arbitrary gzip-compressed data without compromising performance. We show that the requirements on the file contents posed by pugz can be dropped by implementing an architecture based on a cache and a parallelized prefetcher. This architecture can safely handle faulty decompression results, which can appear when threads start decompressing in the middle of a gzip file by using trial and error. Using 128 cores, our implementation reaches 8.7 GB/s…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
