一句话:提出首个面向大滑动窗口压缩的硬件加速系统 BeeZip,兼顾压缩率与吞吐。
数据压缩对操作系统和大规模计算至关重要,但大滑动窗口算法使软件压缩成为 CPU 与内存密集型任务,现有硬件加速常牺牲压缩率或增加内存开销。BeeZip 是首个面向大滑动窗口压缩的硬件加速系统:采用两阶段压缩算法解耦哈希并行与匹配依赖,设计动态调度的 BeeHash 引擎组织哈希并行,并提出 HiveMatch 引擎,以可扩展并行与异构规模处理单元降低匹配内存开销。在 Silesia 数据集上,BeeZip 最高吞吐 10.42GB/s(压缩率 2.96),最佳压缩率 3.14(吞吐 5.95GB/s);相近压缩率下较单线程/36 线程软件加速 23.2×/2.45×,且较已知加速器压缩率至少提升 9%。
Data compression plays a critical role in operating systems and large-scale computing workloads. Its primary objective is to reduce network bandwidth consumption and memory/storage capacity utilization. Given the need to manipulate hash tables, and execute matching operations on extensive data volumes, data compression software has transformed into a resource-intensive CPU task. To tackle this challenge, numerous prior studies have introduced hardware acceleration methods. For example, they have utilized Content-Addressable Memory (CAM) for string matches, incorporated redundant historical copies for each matching component, and so on. While these methods amplify the compression throughput, they often compromise an essential aspect of compression performance: the compression ratio (C.R.). Moreover, hardware accelerators face significant resource costs, especially in memory, when dealing with new large sliding window algorithms. We introduce BeeZip, the first hardware acceleration system designed explicitly for compression with a large sliding window. BeeZip tackles the hardware-level challenge of optimizing both compression ratio and throughput. BeeZip offers architectural support for compression algorithms with the following distinctive attributes: 1) A two-stage compression algorithm adapted for accelerator parallelism, decoupling hash parallelism and match execution dependencies; 2) An organized hash hardware accelerator named BeeHash engine enhanced with dynamic scheduling, which orchestrates hash processes with structured parallelism; 3) A hardware accelerator named HiveMatch engine for the match process, which employs a new scalable parallelism approach and a heterogeneous scale processing unit design to reduce memory resource overhead. Experimental results show that on the Silesia dataset, BeeZip achieves an optimal throughput of 10.42GB/s (C.R. 2.96) and the best C.R. of 3.14 (throughput of 5.95GB/s). Under similar compression ratios, compared to single-threaded/36-threaded software implementations, BeeZip offers accelerator speedups of 23.2×/2.45×, respectively. Against all accelerators we know, BeeZip consistently demonstrates a superior compression ratio, improving by at least 9%.