GZIP は、圧縮率の高いオープンソースのデータ圧縮ライブラリであり、

2 つの圧縮レベルがあります。

  • バイト レベル (Limpel Ziev LZ 圧縮法) 
  • ビット レベル (Huffman Entropy)

従来の CPU ベースのソリューションでは、MB/s レベルのスピードが限界でしたが、GB/s レベルのスループットを提供する高速 GZIP への需要が高まっています。このアプリケーションは、AlveoU50 プラットフォームを使用して GZIP および ZLIB の圧縮/解凍を提供します。

ベンダー: AMD

プラットフォーム: オンプレミス

サイズ: 1.14 GB

コンテナー バージョン: gzip-u50-2020.1-v1.0

AMD が提供するこの製品は無償で運用できます。

性能

次のスループット値は、silesia ファイル セットを使用して測定しています。(http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia)
全体の速度は、複数コアの複数ファイル リストを使用して計算されています。

 

スピード/ファイル
シングル コア

合計コア数

全体の速度
(複数ファイル)

圧縮

688.5 MB/s

8

5.3 GB/s

解凍

678.4 MB/s

7

4.7 GB/s

運用オプション

このアプリケーションはコンテナー化されており、クラウドまたはオンプレミス上で数分で簡単に実行できます。

オンプレミス

Alveo U50
製品を表示して購入

  • ザイリンクス ランタイム: 2020.1
  • ターゲット プラットフォーム: xilinx_u50_gen13x16_xdma_201920_3

利用開始

運用方法に応じた手順に従ってください。

1.ホストを設定する

ザイリンクス ランタイム (XRT) ホスト アプリケーションは Ubuntu 16.04/18.04 と CentOS 7.x でサポートされています。  sudo アクセスが許可されている状態で、次のコマンドを使用してセットアップ スクリプトをダウンロードして実行します。

1.1 Xilinx Base Runtime 用の GitHub リポジトリを複製する

git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git

cd Xilinx_Base_Runtime

1.2 ホスト セットアップ スクリプトを実行する

./host_setup.sh -v 2020.1

注記:

  • インストールが完了するまで待機します。  途中、ホスト セットアップを継続させるために [Y] をクリックする必要がある場合があります。
  • FPGA フラッシュを選択した場合は、FPGA に新しいイメージを読み込むためにはインストール完了後にローカル マシンをコールド リブートする必要があります。
  • ホスト セットアップ用のスクリプトを使用して、ほかのバージョンの XRT やシェルをセットアップできます。詳細は、https://github.com/Xilinx/Xilinx_Base_Runtime を参照してください。

2.Docker をインストールする (インストールしていない場合)

sudo アクセスで、次のコマンドを使用してユーティリティ スクリプトを実行し、Docker をインストールします。

2.1 Xilinx_Base_Runtime ユーティリティ ディレクトリへ移動する

cd Xilinx_Base_Runtime/utilities

2.2 Docker インストレーション スクリプトを実行する

./docker_install.sh

3.アプリケーションを実行する

ターミナル ウィンドウで次のコマンドを入力して、アプリケーションを実行します。

3.1 Xilinx_Base_Runtime のスクリプトで環境変数をセットアップする

source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh

3.2 Docker イメージを取り出す

docker pull xilinx/data_compression:gzip-u50-2020.1-v1.0

3.3 Docker イメージを実行する

docker run $XILINX_DOCKER_DEVICES -it xilinx/data_compression:gzip-u50-2020.1-v1.0

コマンド引数の説明:

  • $XILINX_DOCKER_DEVICES - ホスト セットアップ スクリプトで設定された変数

3.4 GZIP を実行

xgzip -c <input_file>

xgzip -d <compressed_file>

サンプル コマンド:

[圧縮]

[解凍]

wget http://sun.aei.polsl.pl/~sdeor/corpus/nci.bz2

xgzip -c nci.bz2

圧縮

xgzip -d nci.bz2.gz

解凍

xgzip -t nci.bz2

ファイルのテストまたは検証

4.結果

圧縮/解凍が完了すると、出力ファイルが入力パス フォルダーと同じフォルダーに生成されます。

  • GZIP 圧縮の出力ファイル形式: <file_name>.gz
  • ZLIB 圧縮の出力ファイル形式: <file_name>.xz
  • 解凍後のファイル拡張子: <compress_file>.raw