FPGA-Based ZLIB/GZIP Compression Engine as an NVMe Namespace

Library Content Type:
Publish Date: 
Tuesday, September 25, 2018
Event Name: 
Focus Areas:

Today’s exponential growth of Big-Data makes lossless compression one of the most important operations in a data center as it expands storage capacity, reduces storage costs and speeds up data access. Off-loading compression from processors to FPGAs can free up valuable CPU time while reducing compression time and power consumption. Moreover, sharing accelerators across a data center can further improve resource utilization and lower operation costs. Here, we present an efficient FPGA implementation of a GZIP/ZLIB accelerator which can compress the data at up to 1.7GB/s using about 30KLUTs on a Virtex-7 device. This accelerator is presented as an NVMe namespace via the Eideticom NoLoad platform which allows users to access it locally or across the network using standard NVMe and NVMe over Fabrics drivers available in major operating systems. We also present the software API to access this accelerator which relies on the high-performance inbox NVMe drivers and uses a user-space framework to provide both local and remote access to this accelerator.