Akcelerace kompresního algoritmu LZ4 v FPGA
Loading...
Date
Authors
Marton, Dominik
ORCID
Advisor
Referee
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Tato práce popisuje implementaci kompresního algoritmu LZ4 v syntetizovatelném jazyce z rodiny C/C++, pomocí kterého je možné získat VHDL kód pro FPGA čipy na síťových kartách. Podle specifikace algoritmu je implementovaná softwarová verze kompresoru a dekompresoru, která je poté transformována do syntetizovatelného jazyka, ze kterého je vygenerován plně funkční VHDL kód obou komponent. Jednotlivé implementace jsou poté porovnány na základě doby běhu a kompresního poměru. Práce demonstruje význam a sílu high-level syntézy a vysokoúrovňového přístupu z klasických programovacích jazyků při návrhu a implementaci aplikací v hardwaru.
This project describes the implementation of an LZ4 compression algorithm in a C/C++-like language, that can be used to generate VHDL programs for FPGA integrated circuits embedded in accelerated network interface controllers (NICs). Based on the algorithm specification, software versions of LZ4 compressor and decompressor are implemented, which are then transformed into a synthesizable language, that is then used to generate fully functional VHDL code for both components. Execution time and compression ratio of all implementations are then compared. The project also serves as a demonstration of usability and influence of high-level synthesis and high-level approach to design and implementation of hardware applications known from common programming languages.
This project describes the implementation of an LZ4 compression algorithm in a C/C++-like language, that can be used to generate VHDL programs for FPGA integrated circuits embedded in accelerated network interface controllers (NICs). Based on the algorithm specification, software versions of LZ4 compressor and decompressor are implemented, which are then transformed into a synthesizable language, that is then used to generate fully functional VHDL code for both components. Execution time and compression ratio of all implementations are then compared. The project also serves as a demonstration of usability and influence of high-level synthesis and high-level approach to design and implementation of hardware applications known from common programming languages.
Description
Citation
MARTON, D. Akcelerace kompresního algoritmu LZ4 v FPGA [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2017.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Počítačové sítě a komunikace
Comittee
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda)
prof. Ing. Miroslav Švéda, CSc. (místopředseda)
doc. Ing. Vladimír Drábek, CSc. (člen)
doc. RNDr. Eva Hladká, Ph.D. (člen)
doc. Ing. Jan Kořenek, Ph.D. (člen)
doc. Mgr. Adam Rogalewicz, Ph.D. (člen)
Date of acceptance
2017-06-22
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm "A" . Otázky u obhajoby: Dokázal by jste spočítat, kolik taktů FPGA je v průměru potřeba pro kompresi a dekompresi jedno znaku vstupní sekvence? Proč je kompresor o tolik pomalejší ve srovnání s dekompresorem?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení