Presented by Mohamed S. Abdelfattah, University of Toronto and Altera

Download (PDF, 3.34MB)


Hardware implementation of lossless data compression is important for
optimizing the capacity of storage devices in data centers, and bandwidth and
power of communication channels in high-speed networks. In this work we use the
Open Computing Language (OpenCL) to implement the two parts of Gzip compression
(LZ77 compression and Huffman encoding) on a field-programmable gate-array
(FPGA). We show how we make use of a heavily-pipelined custom hardware
implementation of our compression kernels to achieve very high compression
throughput — 3 GB/s for LZ77 kernel that uses ~50% of a Stratix-V A7 chip. We
achieve an average compression ratio of 1.7X with LZ77 compression alone, and
2.1X when we include a simple version of Huffman encoding.