Latency‐aware adaptive micro‐batching techniques for streamed data compression on graphics processing units

Os pesquisadores do LARCC (Charles Stein, Dinei Rockenbach e Dalvan Griebler) contaram com a colaboração de pesquisadores (Gabriele Mencagli, Massimo Torquati e Marco Danelutto) da Universidade de Pisa (Itália) e um pesquisador (Luiz G. Fernandes) da PUCRS (Brasil) para um artigo submetido ao periódico Concurrency and Computation: Practice and Experience (CCPE). Ele foi elaborado e submetido ainda no decorrer do ano de 2019. Recentemente foi aceito e disponibilizado online em 4 de Maio 2020, podendo ser acessado pelo link a seguir: https://doi.org/10.1002/cpe.5786.

Este artigo estuda técnicas adaptativas para permitir o uso de GPUs na compressão de dados respeitando limites de latência estabelecidos pelo programador (chamados de Service Level Objectives ou SLO). No estudo são apresentados quatro algoritmos para adaptar o tamanho do micro-batch (bloco de dados) enviado para processamento na GPU. Para avaliar o desempenho desses algoritmos foram comprimidos quatro arquivos: o conteúdo do site Wikipedia em inglês (14 GB), o código-fonte do sistema operacional Linux (816 MB), o corpus de dados Silesia (202 MB) e um arquivo customizado que os autores geraram especificamente para estes testes (1,6 GB).

Considerando os 4 algoritmos com as 4 cargas de trabalho, os diferentes parâmetros de adaptação (adaptation factors), limites de latência (targets) e margens de aceitação (thresholds), foram executados no total 768 experimentos na infraestrutura de servidores do LARCC para a geração dos dados. Ao final do estudo, foi possível perceber que é possível atingir objetivos de latência com a adaptação automática para responder a flutuações na carga de trabalho, mas que as características dessas cargas (os arquivos sendo comprimidos) influenciam diretamente no desempenho do algoritmo, portanto a escolha do melhor algoritmo depende diretamente das características do arquivo sendo comprimido. O estudo continua as pesquisas já publicadas anteriormente, do artigo publicado no IPDPSW sobre o uso de GPUs em aplicações de stream, e do artigo publicado no PDP sobre o uso de GPUs no algoritmo de compressão LZSS.

O título e resumo do artigo (em inglês) podem ser conferidos abaixo:

Título do artigo: Latency‐aware adaptive micro‐batching techniques for streamed data compression on graphics processing units

Resumo: Stream processing is a parallel paradigm used in many application domains. With the advance of graphics processing units (GPUs), their usage in stream processing applications has increased as well. The efficient utilization of GPU accelerators in streaming scenarios requires to batch input elements in microbatches, whose computation is offloaded on the GPU leveraging data parallelism within the same batch of data. Since data elements are continuously received based on the input speed, the bigger the microbatch size the higher the latency to completely buffer it and to start the processing on the device. Unfortunately, stream processing applications often have strict latency requirements that need to find the best size of the microbatches and to adapt it dynamically based on the workload conditions as well as according to the characteristics of the underlying device and network. In this work, we aim at implementing latency‐aware adaptive microbatching techniques and algorithms for streaming compression applications targeting GPUs. The evaluation is conducted using the Lempel‐Ziv‐Storer‐Szymanski compression application considering different input workloads. As a general result of our work, we noticed that algorithms with elastic adaptation factors respond better for stable workloads, while algorithms with narrower targets respond better for highly unbalanced workloads.