Accelerate Data Compression in File System
BTRFS (B tree filesystem) is a new copy on write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration. One important feature for BTRFS is the transparent file compression. There are two compression algorithms available in BTRFS: ZLIB and LZO. Because the compression workload is very CPU intensive, normally we have to pay additional CPU power to enable data compression in the filesystem. In this work we study the nature of data compression in BTRFS, setup the test bench to measure the benefit and the cost when enable data compression in BTRFS, and develop a new hardware acceleration method to offload the compression and de compression workloads from the BTRFS software stack. Our experiment proves the hardware offloading solution can provide BTRFS data compression with the least CPU overhead comparing with the software implementation of ZLIB and LZO, meanwhile it also reaches a very good compression ratio and disk write throughput.
2016 Data Compression Conference (DCC)