General purpose CPU has its computation capabilities and limitations. Some additional hardware acceleration is used at times for performing some functions faster and more efficiently. Hardware accelerators improve the performance of a specific algorithm by allowing greater concurrency (i.e. parallel execution) based on the application.
GZIP is one such algorithm which is widely used in applications such as file storage, distributed systems, genetics etc. Traditionally the CPU based solutions are limited to MB/s speed but there is a high demand for accelerated GZip which provides throughput in terms of GB/s. Hence we need to accelerate this algorithm.
GZIP is combination of LZ77 and Huffman coding and this is a block based processing algorithm .The main advantages of block feature is that each block can be processed independently which enables greater concurrency and helps in achieving higher performance.
Xilinx Alveo card can help improve performance in following way:
- Instruction parallelism by creating a customized and long pipeline.
- Data parallelism by processing multiple blocks at the same time.
- Customizable memory hierarchy of BRAM/URAM/HBM, providing high bandwidth of memory access.
Xilinx FPGA-based solution accelerates both compression and decompression with multicore and multibyte architectures thus speeding up overall processing time which results in improved system throughput and efficient resource utilization.