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
查看及購買產品

  • Xilinx Runtime 版本:2020.1
  • 目標平台:xilinx_u50_gen13x16_xdma_201920_3

現在開始

請根據您的部署方法,依照說明進行操作。

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