GZIP은 압축률이 높은 오픈 소스 데이터 압축 라이브러리입니다.

두 가지 수준으로 압축을 적용합니다.

  • 바이트 수준(Limpel Ziev LZ 기반 압축 방식) 
  • 비트 수준(Huffman Entropy)

전통적으로 CPU 기반 솔루션은 MB/s 속도로 제한되지만 GB/s 단위로 처리율을 제공하는 가속 GZIP에 대한 수요가 높습니다. 이 애플리케이션은 Alveo U50 플랫폼을 통해 GZIP 및 ZLIB 압축 및 압축 해제를 제공합니다.

공급업체: AMD

플랫폼: 온프레미스

크기: 1.14GB

컨테이너 버전: gzip-u50-2020.1-v1.0

이 제품은 AMD에서 무료로 배포합니다.

성능

아래의 처리율 수치는 Silesia 파일 세트를 사용하여 테스트했습니다. (http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia)
아래의 전체 속도는 여러 코어에서 여러 파일 목록을 사용하여 계산했습니다.

 

속도/파일
싱글코어

총 코어

전체 속도
(여러 파일)

압축

688.5MB/s

8

5.3GB/s

압축 해제

678.4MB/s

7

4.7GB/s

배포 옵션

이 애플리케이션은 컨테이너화되어 있으며 클라우드 또는 온프레미스에서 몇 분 내에 쉽게 실행할 수 있습니다.

온프레미스

Alveo U50
제품 보기 및 구매

  • Xilinx 런타임: 2020.1
  • 대상 플랫폼: Xilinx_u50_gen13x16_xdma_201920_3

시작하기

배포 방법에 따른 지침을 따릅니다.

1. 호스트 설정

Xilinx 런타임(XRT) 호스트 애플리케이션은 Ubuntu 16.04 /18.04 및 CentOS 7.x에서 sudo access를 통해 지원되며  다음 명령을 사용하여 설치 스크립트를 다운로드하고 실행합니다.

1.1 Xilinx 기본 런타임용 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 access와 함께 다음 명령을 사용해 유틸리티 스크립트를 실행하여 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입니다.