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 |
|
利用開始
運用方法に応じた手順に従ってください。
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