Title : 
A High-Performance FPGA-Based Implementation of the LZSS Compression Algorithm
         
        
            Author : 
Shcherbakov, Ivan ; Weis, Christian ; Wehn, Norbert
         
        
            Author_Institution : 
Microelectron. Syst. Design Res. Group, Tech. Univ. Kaiserslautern, Kaiserslautern, Germany
         
        
        
        
        
        
            Abstract : 
The increasing growth of embedded networking applications has created a demand for high-performance logging systems capable of storing huge amounts of high-bandwidth, typically redundant data. An efficient way of maximizing the logger performance is doing a real-time compression of the logged stream. In this paper we present a flexible high-performance implementation of the LZSS compression algorithm capable of processing up to 50 MB/s on a Virtex-5 FPGA chip. We exploit the independently addressable dual-port block RAMs inside the FPGA chip to achieve an average performance of 2 clock cycles per byte. To make the compressed stream compatible with the ZLib library [1] we encode the LZSS algorithm output using a fixed Huffman table defined by the Deflate specification [2]. We also demonstrate how changing the amount of memory allocated to various internal tables impacts the performance and compression ratio. Finally, we provide a cycle-accurate estimation tool that allows finding a trade-off between FPGA resource utilization, compression ratio and performance for a specific data sample.
         
        
            Keywords : 
data compression; data structures; field programmable gate arrays; random-access storage; FPGA resource utilization; LZSS compression algorithm; Virtex-5 FPGA chip; ZLib library; compression ratio; cycle-accurate estimation tool; data representation; deflate specification; embedded networking applications; field programmable gate array; fixed Huffman table; high-performance FPGA-based implementation; high-performance logging systems; independent addressable dual-port block RAM; logged stream compression; logger performance maximization; redundant data; Clocks; Dictionaries; Field programmable gate arrays; Hardware; Prefetching; Random access memory; 7-zip; compression; fpga; parallel; range coding;
         
        
        
        
            Conference_Titel : 
Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International
         
        
            Conference_Location : 
Shanghai
         
        
            Print_ISBN : 
978-1-4673-0974-5
         
        
        
            DOI : 
10.1109/IPDPSW.2012.58