LZ77-based codecs exhibit a fundamental sequential bottleneck in decoding: each back-reference depends on previously decompressed data, preventing multi-core scaling. We present ACEAPEX, a parallel LZ77 codec that stores all back-references as absolute positions in the decompressed output and organizes data into self-contained 1 MB blocks, enabling embarrassingly parallel block-level decoding. Integrated into lzbench, ACEAPEX achieves 10,160 MB/s on EPYC 4344P (8 cores) and 10,869 MB/s on EPYC 9575F for FASTQ genomic data -- up to 3.1x faster than zstd -3 at comparable compression ratios. We further implement a GPU wavefront decoder on NVIDIA H100 SXM, measuring 44.0 GB/s on enwik9 and 20.3 GB/s on FASTQ (wavefront match phase, BIT-PERFECT verified). With a depth-limited encoder variant (-1.5% ratio on enwik9), GPU throughput reaches 77.2 GB/s on a single H100 and 249.9 GB/s on two H100s in NVLink configuration. To our knowledge, this is the first reported GPU LZ77 decode with near-standard compression ratio verified byte-for-byte.
翻译:基于LZ77的编解码器在解码过程中存在根本性的顺序瓶颈:每个反向引用依赖于先前解压的数据,从而阻碍了多核扩展。我们提出ACEAPEX,一种并行LZ77编解码器,它将所有反向引用存储为解压输出中的绝对位置,并将数据组织成自包含的1MB块,从而支持令人尴尬的并行块级解码。集成在lzbench中,ACEAPEX在EPYC 4344P(8核)上针对FASTQ基因组数据达到10,160 MB/s,在EPYC 9575F上达到10,869 MB/s——在可比压缩比下,比zstd -3快达3.1倍。我们进一步在NVIDIA H100 SXM上实现了GPU波前解码器,在enwik9上测得44.0 GB/s,在FASTQ上测得20.3 GB/s(波前匹配阶段,经BIT-PERFECT验证)。使用深度受限的编码器变体(enwik9上压缩比降低-1.5%),GPU吞吐量在单个H100上达到77.2 GB/s,在NVLink配置的双H100上达到249.9 GB/s。据我们所知,这是首个经逐字节验证且压缩比接近标准的GPU LZ77解码报告。