GZIP 是提供高壓縮率的開放原始碼資料壓縮庫。
它套用兩種壓縮層級:
- 位元組層級(Limpel Ziev LZ 型壓縮方案)
- 位元層級 (Huffman Entropy)
傳統上,處理器型解決方案只能提供 MB/s 的速度,但市場上對於以 GB/s 為單位提供輸送量的加速 GZIP 需求相當高。此應用程式使用 Alveo U50 平台,提供 GZIP 和 ZLIB 壓縮和解壓縮功能。
廠商:AMD
平台:內部部署
大小: 1.14 GB
容器版本:gzip-u50-2020.1-v1.0
此產品可從 AMD 免費部署
效能
以下輸送量數字使用西利西亞檔案集進行測試。(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.主機設定
透過 sudo 存取權限,Ubuntu 16.04 /18.04 和 CentOS 7.x. 可支援 Xilinx Runtime (XRT) 主機應用程式, 請使用以下指令下載並執行設定腳本:
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 和 shell。如需更多詳細資訊,請查看 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