2025 |
Hoffmann, Renato B; Faé, Leonardo G; Griebler, Dalvan; Li, Xinliang David; Pereira, Fernando Magno Quintão Automatic Synthesis of Specialized Hash Functions Inproceedings doi Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization, pp. 317–330, Association for Computing Machinery, Las Vegas, NV, USA, 2025, ISBN: 9798400712753. @inproceedings{HOFFMANN:CGO:25, title = {Automatic Synthesis of Specialized Hash Functions}, author = {Renato B Hoffmann and Leonardo G Faé and Dalvan Griebler and Xinliang David Li and Fernando Magno Quintão Pereira}, url = {https://doi.org/10.1145/3696443.3708940}, doi = {10.1145/3696443.3708940}, isbn = {9798400712753}, year = {2025}, date = {2025-03-01}, booktitle = {Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization}, pages = {317–330}, publisher = {Association for Computing Machinery}, address = {Las Vegas, NV, USA}, series = {CGO '25}, abstract = {This paper introduces a technique for synthesizing hash functions specialized to particular byte formats. This code generation method leverages three prevalent patterns: (i) fixed-length keys, (ii) keys with common subsequences, and (iii) keys ranging on predetermined sequences of bytes. Code generation involves two algorithms: one identifies relevant regular expressions within key examples, and the other generates specialized hash functions based on these expressions. Comparative analysis demonstrates that the synthetic functions outperform the general-purpose hashes in the C++ Standard Template Library and the Google Abseil Library when keys are given in ascending, normal or uniform distribution. In applications where low-mixing hashes are acceptable, the synthetic functions achieve speedups ranging from 2% to 11% on full benchmarks, and speedups of almost 50x once only hashing speed is considered.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } This paper introduces a technique for synthesizing hash functions specialized to particular byte formats. This code generation method leverages three prevalent patterns: (i) fixed-length keys, (ii) keys with common subsequences, and (iii) keys ranging on predetermined sequences of bytes. Code generation involves two algorithms: one identifies relevant regular expressions within key examples, and the other generates specialized hash functions based on these expressions. Comparative analysis demonstrates that the synthetic functions outperform the general-purpose hashes in the C++ Standard Template Library and the Google Abseil Library when keys are given in ascending, normal or uniform distribution. In applications where low-mixing hashes are acceptable, the synthetic functions achieve speedups ranging from 2% to 11% on full benchmarks, and speedups of almost 50x once only hashing speed is considered. |
2024 |
Hoffmann, Renato B; Griebler, Dalvan; da Righi, Rodrigo Rosa; Fernandes, Luiz G Benchmarking parallel programming for single-board computers Journal Article doi Future Generation Computer Systems, 161 , pp. 119-134, 2024, ISSN: 0167-739X. @article{HOFFMANN:single-board-computers:FGCS:24, title = {Benchmarking parallel programming for single-board computers}, author = {Renato B Hoffmann and Dalvan Griebler and Rodrigo Rosa da Righi and Luiz G Fernandes}, url = {https://www.sciencedirect.com/science/article/pii/S0167739X24003650}, doi = {https://doi.org/10.1016/j.future.2024.07.003}, issn = {0167-739X}, year = {2024}, date = {2024-12-01}, journal = {Future Generation Computer Systems}, volume = {161}, pages = {119-134}, abstract = {Within the computing continuum, SBCs (single-board computers) are essential in the Edge and Fog, with many featuring multiple processing cores and GPU accelerators. In this way, parallel computing plays a crucial role in enabling the full computational potential of SBCs. However, selecting the best-suited solution in this context is inherently complex due to the intricate interplay between PPI (parallel programming interface) strategies, SBC architectural characteristics, and application characteristics and constraints. To our knowledge, no solution presents a combined discussion of these three aspects. To tackle this problem, this article aims to provide a benchmark of the best-suited parallelism PPIs given a set of hardware and application characteristics and requirements. Compared to existing benchmarks, we introduce new metrics, additional applications, various parallelism interfaces, and extra hardware devices. Therefore, our contributions are the methodology to benchmark parallelism on SBCs and the characterization of the best-performing parallelism PPIs and strategies for given situations. We are confident that parallel computing will be mainstream to process edge and fog computing; thus, our solution provides the first insights regarding what kind of application and parallel programming interface is the most suited for a particular SBC hardware.}, keywords = {}, pubstate = {published}, tppubtype = {article} } Within the computing continuum, SBCs (single-board computers) are essential in the Edge and Fog, with many featuring multiple processing cores and GPU accelerators. In this way, parallel computing plays a crucial role in enabling the full computational potential of SBCs. However, selecting the best-suited solution in this context is inherently complex due to the intricate interplay between PPI (parallel programming interface) strategies, SBC architectural characteristics, and application characteristics and constraints. To our knowledge, no solution presents a combined discussion of these three aspects. To tackle this problem, this article aims to provide a benchmark of the best-suited parallelism PPIs given a set of hardware and application characteristics and requirements. Compared to existing benchmarks, we introduce new metrics, additional applications, various parallelism interfaces, and extra hardware devices. Therefore, our contributions are the methodology to benchmark parallelism on SBCs and the characterization of the best-performing parallelism PPIs and strategies for given situations. We are confident that parallel computing will be mainstream to process edge and fog computing; thus, our solution provides the first insights regarding what kind of application and parallel programming interface is the most suited for a particular SBC hardware. |
Araujo, Gabriell; Griebler, Dalvan; Fernandes, Luiz Em direção a um modelo de programação paralela único para CPUs e GPUs em processamento de stream Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 103–104, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. @inproceedings{ARAUJO:ERAD:24, title = {Em direção a um modelo de programação paralela único para CPUs e GPUs em processamento de stream}, author = {Gabriell Araujo and Dalvan Griebler and Luiz Fernandes}, url = {https://sol.sbc.org.br/index.php/eradrs/article/view/28014}, doi = {10.5753/eradrs.2024.238670}, issn = {2595-4164}, year = {2024}, date = {2024-04-24}, booktitle = {Anais da XXIV Escola Regional de Alto Desempenho da Região Sul}, pages = {103--104}, publisher = {SBC}, address = {Florianópolis/SC}, abstract = {Este trabalho apresenta resultados parciais da pesquisa em andamento, a qual está utilizando a Linguagem Específica de Domínio (DSL) SPar para prototipar um modelo de programação paralela único direcionado a CPUs e GPUs em processamento de stream. Por meio do protótipo inicial, já é possível gerar código paralelo para CPUs e GPUs em processamento de stream.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } Este trabalho apresenta resultados parciais da pesquisa em andamento, a qual está utilizando a Linguagem Específica de Domínio (DSL) SPar para prototipar um modelo de programação paralela único direcionado a CPUs e GPUs em processamento de stream. Por meio do protótipo inicial, já é possível gerar código paralelo para CPUs e GPUs em processamento de stream. |
Fim, Gabriel; Griebler, Dalvan Proposta de Paralelismo de Stream Multi-GPU em Multi-Cores Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 101–102, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. @inproceedings{FIM:ERAD:24, title = {Proposta de Paralelismo de Stream Multi-GPU em Multi-Cores}, author = {Gabriel Fim and Dalvan Griebler}, url = {https://sol.sbc.org.br/index.php/eradrs/article/view/28013}, doi = {10.5753/eradrs.2024.238680}, issn = {2595-4164}, year = {2024}, date = {2024-04-24}, booktitle = {Anais da XXIV Escola Regional de Alto Desempenho da Região Sul}, pages = {101--102}, publisher = {SBC}, address = {Florianópolis/SC}, abstract = {Considerando a necessidade de tempos de processamento mais rápidos, a utilização de ambientes multi-aceleradores vem se tornando cada vez mais proeminente na literatura, infelizmente programar para estes tipos de ambientes apresenta uma série de desafios que fazem com que o desenvolvimento de códigos direcionados a multi-GPUs exija um maior esforço de programação. Propomos investigar como utilizar anotações C++ para simplificar a geração de código multi-GPU sem comprometer o desempenho.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } Considerando a necessidade de tempos de processamento mais rápidos, a utilização de ambientes multi-aceleradores vem se tornando cada vez mais proeminente na literatura, infelizmente programar para estes tipos de ambientes apresenta uma série de desafios que fazem com que o desenvolvimento de códigos direcionados a multi-GPUs exija um maior esforço de programação. Propomos investigar como utilizar anotações C++ para simplificar a geração de código multi-GPU sem comprometer o desempenho. |
Hoffmann, Renato; Griebler, Dalvan Em Direção à Programação Distribuída na Seleção de Planos em Sistemas Multi-Agentes Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 121–122, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. @inproceedings{HOFFMANN:ERAD:24, title = {Em Direção à Programação Distribuída na Seleção de Planos em Sistemas Multi-Agentes}, author = {Renato Hoffmann and Dalvan Griebler}, url = {https://sol.sbc.org.br/index.php/eradrs/article/view/28023}, doi = {10.5753/eradrs.2024.238734}, issn = {2595-4164}, year = {2024}, date = {2024-04-24}, booktitle = {Anais da XXIV Escola Regional de Alto Desempenho da Região Sul}, pages = {121--122}, publisher = {SBC}, address = {Florianópolis/SC}, abstract = {Sistemas multi-agentes são compostos por múltiplos agentes autônomos que interagem com um ambiente e entre si para atingir objetivos específicos. Jason, uma linguagem multi-agentes popular modela esses sistemas através de crenças, metas e planos, que é atualmente realizada através de uma varredura linear. Sendo assim, essa pesquisa propõem investigar a seleção dos planos de maneira paralela e em um sistema distribuído.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } Sistemas multi-agentes são compostos por múltiplos agentes autônomos que interagem com um ambiente e entre si para atingir objetivos específicos. Jason, uma linguagem multi-agentes popular modela esses sistemas através de crenças, metas e planos, que é atualmente realizada através de uma varredura linear. Sendo assim, essa pesquisa propõem investigar a seleção dos planos de maneira paralela e em um sistema distribuído. |
Grupo de Modelagem de Aplicações Paralelas
Na última decada, estão sendo criadas novas abstrações do paralelismo através de linguagens específicas de domínio (DSLs), bibliotecas e frameworks para a próxima geração de algoritmos e arquiteturas de computadores, como Servidores com Aceleradores (Graphics Processing Units – GPUs ou Field-Programmable Gate Array – FPGAs) e hardware embarcados. Isso tem sido aplicado ao domínio de aplicações de processamento de stream e voltadas à ciência de dados. Concomitantemente, desde de 2018, estão sendo conduzidas pesquisas com uso de inteligência artificial para otimização de aplicações nas áreas de Medicina, Ecologia, Indústria, Agricultura, Educação, Cidades Inteligentes e entre outras.
Linhas de Pesquisa
Ciência de Dados Aplicada
Abstrações de Paralelismo
Modelagem de Aplicações Paralelas
Equipe

Prof. Dr. Luiz Gustavo Fernandes
Coordenador Geral

Prof. Dr. Dalvan Griebler
Coordenador de Pesquisa
Últimas Publicações
2025 |
Automatic Synthesis of Specialized Hash Functions Inproceedings doi Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization, pp. 317–330, Association for Computing Machinery, Las Vegas, NV, USA, 2025, ISBN: 9798400712753. |
2024 |
Benchmarking parallel programming for single-board computers Journal Article doi Future Generation Computer Systems, 161 , pp. 119-134, 2024, ISSN: 0167-739X. |
Em direção a um modelo de programação paralela único para CPUs e GPUs em processamento de stream Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 103–104, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. |
Proposta de Paralelismo de Stream Multi-GPU em Multi-Cores Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 101–102, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. |
Em Direção à Programação Distribuída na Seleção de Planos em Sistemas Multi-Agentes Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 121–122, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. |
Projetos
Softwares
Últimas Notícias
Contate-nos!
Ou, sinta-se à vontade para usar o formulário ao lado para contatar-nos.