Accelerating Data Chunking in Deduplication Systems using Vector Instructions
Sreeharsha Udayashankar, Abdelrahman Baba, Samer Al-Kiswany
TL;DR
This paper tackles the data chunking bottleneck in deduplication by focusing on hashless CDC algorithms, which are faster but traditionally offer slightly lower space savings. It introduces VectorCDC, a vector-instruction–based framework that accelerates two core patterns—Extreme Byte Search and Range Scan—using a tree-based approach and packed scanning, respectively. The authors implement several variants (AE-Max, AE-Min, MAXP, RAM) and demonstrate substantial throughput improvements (up to 8.35×–26.2× over prior vector-accelerated methods and 15.3×–207.2× over unaccelerated baselines) across Intel, AMD, ARM, and IBM Power CPUs, without sacrificing space savings. The work provides a portable, publicly available solution integrated with DedupBench and offers extensive cross-architecture evaluation, validating that hashless CDC with VectorCDC yields the best overall performance for modern deduplication pipelines.
Abstract
Content-defined Chunking (CDC) algorithms dictate the overall space savings that deduplication systems achieve. However, due to their need to scan each file in its entirety, they are slow and often the main performance bottleneck within data deduplication. We present VectorCDC, a method to accelerate hashless CDC algorithms using vector CPU instructions, such as SSE / AVX. We analyzed the state-of-the-art chunking algorithms and discovered that hashless algorithms primarily use two data processing patterns to identify chunk boundaries: Extreme Byte Searches and Range Scans. VectorCDC presents a vector-friendly approach to accelerate these two patterns. Using VectorCDC, we accelerated three state-of-the-art hashless chunking algorithms: RAM, AE, and MAXP. Our evaluation shows that VectorCDC is effective on Intel, AMD, ARM, and IBM CPUs, achieving 8.35x - 26.2x higher throughput than existing vector-accelerated algorithms, and 15.3x - 207.2x higher throughput than existing unaccelerated algorithms. VectorCDC achieves this without affecting the deduplication space savings.
