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
Ein Kern

Gesamtzahl Kerne

Gesamtgeschwindigkeit
(Mehrere Dateien)

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
Produkt anzeigen und kaufen

  • Xilinx Runtime: 2020.1
  • Zielplattform: xilinx_u50_gen13x16_xdma_201920_3

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