O GZIP é uma biblioteca de compactação de dados de código aberto que oferece alta taxa de compactação.

Ele aplica dois níveis de compactação:

  • Nível de byte (Esquema de compactação baseado em Limpel Ziev LZ) 
  • Nível de bits (Entropia de Huffman)

Tradicionalmente, as soluções baseadas em CPU são limitadas à velocidade de MB/s, mas há uma grande demanda por GZIP acelerado que ofereça produtividade em termos de GB/s. Esse aplicativo fornece compactação e descompactação GZIP e ZLIB usando a plataforma Alveo U50.

Fornecedor: AMD

Plataforma: No local

Tamanho: 1,14 GB

Versão do contêiner: gzip-u50-2020.1-v1.0

A implantação desse produto da AMD é gratuita

Desempenho

Os números de produtividade abaixo são testados usando o conjunto de arquivos silesia. (http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia  )
A velocidade geral abaixo é calculada usando a lista de vários arquivos em vários núcleos.

 

Velocidade/arquivo
Núcleo único

Total de núcleos

Velocidade geral
(Vários arquivos)

Compactar

688,5 MB/s

8

5,3 GB/s

Descompactar

678,4 MB/s

7

4,7 GB/s

Opções de implantação

Esse aplicativo é conteinerizado e pode ser facilmente executado em poucos minutos na nuvem ou no local.

No local

Alveo U50
Visualizar e comprar produto

  • Xilinx Runtime: 2020.1
  • Plataforma de destino: xilinx_u50_gen13x16_xdma_201920_3

Introdução

Siga as instruções de acordo com seu método de implantação.

1. Configuração do host

O aplicativo host Xilinx Runtime (XRT) é compatível com o Ubuntu 16.04/18.04 e o CentOS 7.x.  com acesso sudo, use o seguinte comando para baixar e executar o script de configuração:

1.1 Clone o repositório do GitHub para o Xilinx Base Runtime

git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git

cd Xilinx_Base_Runtime

1.2 Execute o script de configuração do host

./host_setup.sh -v 2020.1

Nota:

  • Aguarde a conclusão da instalação.  Durante esse período, talvez seja necessário pressionar [Y] para continuar a configuração do host.
  • Se você optar por atualizar a FPGA, será necessário reinicializar a máquina local após a conclusão da instalação para carregar a nova imagem na FPGA.
  • O script de configuração do host pode ser usado para configurar outras versões do XRT e do shell. Consulte o site https://github.com/Xilinx/Xilinx_Base_Runtime para obter mais detalhes.

2. Instale o Docker (se ainda não estiver instalado)

Com acesso sudo, use o seguinte comando para executar o script do utilitário para instalar o docker.

2.1 Acesse o diretório de utilitários Xilinx_Base_Runtime

cd Xilinx_Base_Runtime/utilities

2.2 Execute o script de instalação do Docker

./docker_install.sh

3. Execução do aplicativo

Digite os seguintes comandos em uma janela de terminal para executar o aplicativo:

3.1 Configure variáveis de ambiente por script do Xilinx_Base_Runtime

source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh

3.2 Extraia a imagem do Docker

docker pull xilinx/data_compression:gzip-u50-2020.1-v1.0

3.3 Execute a imagem do Docker

docker run $XILINX_DOCKER_DEVICES -it xilinx/data_compression:gzip-u50-2020.1-v1.0

Descrição dos argumentos do comando:

  • $XILINX_DOCKER_DEVICES - Variáveis definidas pelo script de configuração do host

3.4 Execute o GZIP

xgzip -c <input_file>

xgzip -d <compressed_file>

exemplo de comandos:

[Para compactação]

[Para descompactação]

wget http://sun.aei.polsl.pl/~sdeor/corpus/nci.bz2

xgzip -c nci.bz2

Para compactação

xgzip -d nci.bz2.gz

Para descompactação

xgzip -t nci.bz2

Testar ou validar um arquivo

4. Resultados

Depois que a compactação ou descompactação for feita, o arquivo de saída será gerado no mesmo caminho de pasta que o caminho de entrada.

  • Arquivo compactado com GZIP, o formato do arquivo de saída será: <file_name>.gz
  • Arquivo compactado com ZLIB, o formato do arquivo de saída será: <file_name>.xz
  • A extensão do arquivo após a descompactação será: <compress_file>.raw