Dissertação

{en_GB=Data Compression Algorithms in FPGAs} {} EVALUATED

{pt=A compressão de dados é cada vez mais importante à medida que mais dados são produzidos, transferidos e armazenados. Comprimir permite reduzir custos com armazenamento, aumentar a velocidade de transferências em ligações com largura de banda limitada, reduzir o congestionamento em redes e melhorar a eficiência energética de dispositivos que comunicam sem fios. Neste trabalho propomos um acelerador de hardware do algoritmo LZ77, que implementa a parte computacionalmente mais intensiva de muitos algoritmos de compressão. A interface deste acelerador permite processar fluxos de dados e torna simples a integração do acelerador com outro hardware ou software com vista a implementar diferentes aplicações de compressão. O acelerador foi integrado numa arquitectura hardware/software que implementa o algoritmo Deflate, amplamente usado para compressão sem perdas. Esta arquitectura visa ser implementada em sistemas embebidos com componentes de software e hardware. A componente de hardware acelera o algoritmo LZ77, enquanto o software selecciona as melhores matches e codifica-as com Huffman estático. A parte executada em software confere uma maior flexibilidade à codificação. Um protótipo foi implementado recorrendo a uma Zynq e demonstrou que o acelerador consegue processar até 123 MiB/s e é facilmente escalável de forma a aumentar a razão de compressão. Comparado com uma implementação em software a correr no ARM da Zynq o protótipo é 1.5 vezes mais rápido. O acelerador proposto pode também ser usado para implementar um sistema de compressão que ultrapassa a velocidade do Gzip a correr num processador Intel Core i5 em mais do dobro, para ficheiros comuns., en=Data compression is increasingly important as more and more data is produced, transferred and stored on a daily basis. It allows to reduce storage costs, speed up data transfers over limited bandwidth, reduce network congestion and even improve energy efficiency in wireless devices. In this work we propose a stream-based LZ77 hardware accelerator that implements the most computationally intensive part of many compression algorithms. The stream-based interface of this IP makes it easy to integrate with other hardware or software components to implement different compression applications. This IP was integrated into a hardware/software architecture that implements the widely used Deflate lossless compression algorithm. This architecture targets embedded computing systems using software and hardware components. The hardware component accelerates the LZ77 algorithm, while the software selects the best matches and codes them with static Huffman. Executing the software part on a generic processor allows for greater flexibility of the encoding part. A prototype implementation targeting a Zynq device demonstrated that the hardware accelerator can process 123 MiB/s and can easily be scaled in order to enhance the compression ratio. Compared with a software-only implementation running on the Zynq ARM processor a speedup of 1.5 is achieved. The proposed IP can also be used to implement a system that surpasses the throughput of Gzip running on a Intel Core i-5 computer by a factor greater than 2, for typical files.}
{pt=Compressão de Dados, FPGA, LZ77, Sistemas Embebidos, Zynq, en=Data Compression, FPGA, LZ77, Embedded Systems, Zynq}

maio 17, 2017, 14:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Horácio Cláudio De Campos Neto

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Associado