GZIP ist eine Open-Source-Datenkompressionsbibliothek, die hohe Kompressionsraten bietet.
Sie wendet die Kompression auf zwei Ebenen an:
- Byte-Ebene (Kompressionsschema basierend auf Limpel Ziev LZ)
- Bit-Ebene (Huffman-Entropie)
Die CPU-basierten Lösungen sind traditionell auf eine Geschwindigkeit im MB/s-Bereich beschränkt, es besteht jedoch ein hoher Bedarf an einem beschleunigten GZIP, das einen Durchsatz im GB/s-Bereich bietet. Diese Anwendung bietet GZIP- und ZLIB-Kompression und -Dekompression mit der Alveo U50 Plattform.
Hersteller: AMD
Plattform: On-Premises
Größe: 1,14 GB
Container-Version: gzip-u50-2020.1-v1.0
Dieses Produkt ist kostenlos bei AMD zur Bereitstellung erhältlich.
Performance
Die nachfolgend angegebenen Durchsätze werden mit dem Silesia-Dateisatz getestet. (http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia )
Die nachfolgend angegebene Gesamtgeschwindigkeit wird anhand der Liste mit mehreren Dateien auf mehreren Kernen berechnet.
|
Geschwindigkeit/Datei |
Gesamtzahl Kerne |
Gesamtgeschwindigkeit |
Kompression |
688,5 MB/s |
8 |
5,3 GB/s |
Dekompression |
678,4 MB/s |
7 |
4,7 GB/s |
Bereitstellungsoptionen
Diese Anwendung ist containerisiert und kann ohne Weiteres in wenigen Minuten in der Cloud oder vor Ort ausgeführt werden.
On-Premises |
|
Alveo U50 |
|
Erste Schritte
Befolgen Sie die Ihrer Bereitstellungsmethode entsprechenden Anweisungen.
1. Host-Einrichtung
Die Host-Anwendung der Xilinx Runtime (XRT) wird auf Ubuntu 16.04/18.04 und CentOS 7.x unterstützt. Mit Zugangsberichtigung sudo verwenden Sie den folgenden Befehl, um das Skript für die Einrichtung herunterzuladen und auszuführen:
1.1 GitHub-Repository für Xilinx Base Runtime klonen
git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git
cd Xilinx_Base_Runtime
1.2 Das Skript der Host-Einrichtung ausführen
./host_setup.sh -v 2020.1
Hinweis:
- Warten Sie, bis die Installation abgeschlossen ist. Während dieser Zeit müssen Sie möglicherweise [Y] drücken, um mit der Host-Einrichtung fortzufahren.
- Wenn Sie den FPGA flashen möchten, müssen Sie nach Abschluss der Installation einen kalten Neustart des lokalen Geräts durchführen, um das neue Image in den FPGA zu laden.
- Das Skript für die Host-Einrichtung kann zum Einrichten anderer Versionen von XRT und Shell verwendet werden. Weitere Informationen finden Sie unter https://github.com/Xilinx/Xilinx_Base_Runtime.
2. Docker installieren (falls noch nicht installiert)
Verwenden Sie mit Zugangsberechtigung sudo den folgenden Befehl, um das Dienstprogrammskript für die Installation von Docker auszuführen.
2.1 Zum Dienstprogrammverzeichnis Xilinx_Base_Runtime wechseln
cd Xilinx_Base_Runtime/utilities
2.2 Das Skript für die Docker-Installation ausführen
./docker_install.sh
3. Ausführen der Anwendung
Geben Sie die folgenden Befehle in ein Terminalfenster ein, um die Anwendung auszuführen:
3.1 Umgebungsvariablen durch Skript von Xilinx_Base_Runtime einrichten
source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh
3.2 Docker Image ziehen
docker pull xilinx/data_compression:gzip-u50-2020.1-v1.0
3.3 Docker Image ausführen
docker run $XILINX_DOCKER_DEVICES -it xilinx/data_compression:gzip-u50-2020.1-v1.0
Beschreibung der Befehlsargumente:
$XILINX_DOCKER_DEVICES
– Variablen, die vom Skript der Host-Einrichtung festgelegt werden
3.4 GZIP ausführen
xgzip -c <input_file>
xgzip -d <compressed_file>
Beispielbefehle:
[Für Kompression]
[Für Dekompression]
wget http://sun.aei.polsl.pl/~sdeor/corpus/nci.bz2
xgzip -c nci.bz2
Für Kompression
xgzip -d nci.bz2.gz
Für Dekompression
xgzip -t nci.bz2
Eine Datei testen oder validieren
4. Ergebnisse
Nach Abschluss der Kompression oder Dekompression wird die Ausgabedatei unter demselben Ordnerpfad generiert, d. h., der Pfad ist derselbe wie für den Eingabeordner.
- Das Ausgabeformat der mit GZIP komprimierten Datei lautet:
<file_name>.gz
- Das Ausgabeformat der mit ZLIB komprimierten Datei lautet:
<file_name>.xz
- Die Dateierweiterung nach der Dekompression lautet:
<compress_file>.raw