Accelerate Data Compression in File System

Li Weigang, Yuzeng Yao · 2016

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.

Read the paper · More papers on PaperTik