GZIP 是一个开源数据压缩库,能够提供高压缩比。
GZIP 可执行两层压缩:
- 字节层(基于 Limpel Ziev LZ 的压缩方案)
- 比特层(霍夫曼熵)
在此之前,基于 CPU 的解决方案最高只能达到 MB/s 速度级别。但如今,大家越来越需要能够提供 GB/s 级别吞吐量的 GZIP 加速方案。本应用采用 Alveo U50 平台,可提供 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.主机安装
Xilinx Runtime (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 和 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