Detalhes bibliográficos
Ano de defesa: |
2023 |
Autor(a) principal: |
Garcia, Adriano Marques
 |
Orientador(a): |
Fernandes, Luiz Gustavo Leao
 |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Tese
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
eng |
Instituição de defesa: |
Pontifícia Universidade Católica do Rio Grande do Sul
|
Programa de Pós-Graduação: |
Programa de Pós-Graduação em Ciência da Computação
|
Departamento: |
Escola Politécnica
|
País: |
Brasil
|
Palavras-chave em Português: |
|
Palavras-chave em Inglês: |
|
Área do conhecimento CNPq: |
|
Link de acesso: |
https://tede2.pucrs.br/tede2/handle/tede/10884
|
Resumo: |
No mundo de hoje impulsionado por dados e crescente expectativa por resultados imediatos, há uma demanda crescente por processamento de dados em tempo real/baixa latência. O processamento de stream é uma técnica que processa os dados à medida que eles se tornam disponíveis, permitindo o processamento de dados quase em tempo real. Para lidar com o processamento de grandes volumes de dados, aplicações de processamento de stream devem recorrer a técnicas de paralelismo para acelerar o processamento. Embora existam interfaces de programação paralela (IPPs) capazes de adicionar várias camadas de abstração, o paralelismo no processamento de stream ainda é uma tarefa difícil e que normalmente exige conhecimento especializado para atingir os níveis de desempenho desejados. Isso gera um grande esforço de pesquisa em direção à aumentar o desempenho do processamento paralelo de stream e tornar a programação paralela mais acessível. Tipicamente, benchmarks são usados para avaliar as IPPs e novas soluções nesse contexto. No entanto, existem várias limitações nos benchmarks existentes, incluindo a falta de benchmarks para algumas categorias de aplicações de processamento de stream, poucas ou nenhuma opção de parametrização, dificuldade em estender os benchmarks para outras IPPs, falta de métricas de desempenho adequadas, falta de preocupação com usabilidade, suporte apenas para linguagens baseadas na Java Virtual Machine (JVM), etc. Este trabalho propõe um framework chamado SPBench para criar benchmarks personalizados e avaliar o processamento paralelo de stream. Nosso principal objetivo é facilitar o processo de benchmarking no processamento de stream, incluindo a criação, compilação, execução, ajuste-fino e avaliação dos benchmarks. Portanto, esta tese de doutorado fornece as seguintes principais contribuições científicas: (I) Um framework que simplifica o benchmarking de aplicações de processamento de stream, fornecendo uma Application Programming Interface (API) e uma interface de linha de comando para simplificar, reutilizar código, personalizar, estender e avaliar diferentes aspectos ou propriedades em relação ao processamento paralelo de stream. (II) Um conjunto de benchmarks paralelos em C++ para processamento de stream que inclui aplicações do mundo real e as IPPs mais utilizadas neste contexto. (III) Um estudo comparativo abrangente das IPPs mais populares que usam o paralelismo de stream em C++. (IV) Mecanismos para simulação dinâmica de frequência de stream de dados em aplicações de processamento de stream, com um conjunto de algoritmos para gerar os padrões de frequência de stream de dados mais comumente usados na literatura e uma análise do impacto da frequência de dados no desempenho dessas aplicações. (V) Uma análise do impacto do tamanho de micro-batches no desempenho de aplicações de processamento de stream, incluindo mecanismos para controle dinâmico de batch baseado em tamanho específico ou intervalos de tempo. Testamos o framework SPBench com cinco aplicações do mundo real de processamento de vídeo/imagem, compressão de dados e detecção de fraudes. Neste trabalho nós tentamos mostrar os benefícios do SPBench usando-o em combinação com IPPs para gerar benchmarks de processamento paralelo de stream e realizar diversas análises. No geral, os resultados mostraram que as abstrações de alto nível das IPPs podem causar um grande impacto no desempenho quando abstraem mecanismos de ajuste fino. Nos experimentos de frequência de dados, a IPP FastFlow obteve mais benefícios de cenários de frequência variável do que o TBB em nossos casos de teste. Por fim, os resultados experimentais mostraram que a potencial vantagem de desempenho do uso de microbatches em ambientes multi-núcleo tende a aparecer apenas em cenários muito específicos |