Anais da Escola Regional de Alto Desempenho da Região Sul (ERAD-RS)
A Escola Regional de Alto Desempenho da Região Sul - ERAD/RS é um evento promovido pela Sociedade Brasileira de Computação - SBC e pela Comissão Regional de Alto Desempenho do Rio Grande do Sul - CRAD/RS, com periodicidade anual. A escola possui como um de seus principais objetivos fomentar o desenvolvimento de novos pesquisadores e pesquisadoras na área de processamento de alto desempenho. Para a maioria das pessoas que participam ou participaram da ERAD, o primeiro envolvimento com a comunidade regional dessa área aconteceu e acontece através do Fórum de Iniciação Científica, peça integral desde a primeira edição da escola em 2001.
Sociedade Brasileira de Computação - SBC
Implementação Paralela em GPU para Geração de Fractais de Corais
Este artigo descreve uma implementação paralela desenvolvida em GPU para a geração de fractais de corais utilizando o algoritmo Agregação Limitada por Difusão (DLA). A implementação foi desenvolvida na linguagem de programação C++ e paralelizada através da plataforma CUDA. Atingiu-se um speedup de 40 vezes, porém, observou-se uma estabilização do speedup, devido ao limite máximo de threads ativas simultaneamente na GPU.
Análise e Otimização de Operações de E/S em Aplicações Científicas de Aprendizado de Máquina Orientada pelo Drishti
O avanço do Aprendizado de Máquina Científico (SciML) evidenciou as operações de Entrada e Saída (E/S) como gargalos na Computação de Alto Desempenho (HPC). Usando a ferramenta Drishti para guiar otimizações de dados no benchmark PDEBench, avaliamos três redes (FNO, U-Net, PINN) e revelamos que a eficácia das técnicas depende estritamente da arquitetura. Em modelos limitados por E/S (FNO), o Alinhamento reduziu o tempo em ∼4% em discos NVMe locais. Em contraste, modelos densos (U-Net) mascaram a latência, e técnicas distribuídas como MPI-IO geram overhead. Demonstra-se que essas otimizações impõem um trade-off marginal à acurácia devido à estocasticidade da formação de lotes.
Implementação MPI C++ do Scalar Penta-diagonal Solver do NPB
Este artigo apresenta a implementação e avaliação de desempenho da pseudoaplicação Scalar Penta-diagonal Solver (SP) pertencente ao conjunto NAS Parallel Benchmarks (NPB) em C++ com MPI. O objetivo foi prover uma versão portável que mantenha a paridade algorítmica com o código original em Fortran. Os experimentos demonstraram que a implementação em Fortran apresenta menor tempo de execução absoluto. Entretanto, a implementação em C++ apresentou valores de speedup ocasionalmente superiores, indicando uma escalabilidade promissora para problemas de maior escala.
OCL-PolyHok: DSL para GPGPU com abstrações de alto nível baseada em OpenCL
A programação de GPUs para propósitos gerais (GPGPU) oferece alto desempenho, mas impõe barreiras devido à complexidade de APIs de baixo nível, como CUDA e OpenCL. Este trabalho apresenta a OCL-PolyHok, uma versão da DSL PolyHok que substitui seu backend e biblioteca de runtime, antes baseados em CUDA, por uma implementação baseada no padrão aberto OpenCL. O objetivo é prover portabilidade para a linguagem de programação de GPUs em diferentes arquiteturas de hardware, mantendo sua expressividade funcional e recursos de alto nível. Testes experimentais com três benchmarks demonstraram que a OCL-PolyHok cumpriu seu objetivo de portabilidade e superou o desempenho da versão original em todos os cenários avaliados.
NeanderWeb-V: Uma Abordagem Web Simplificada para o Ensino de Paralelismo e Cache
Este trabalho apresenta o NeanderWeb-V, um simulador da arquitetura Neander-V, que amplia o Neander clássico, com suporte a vetorização e cache. Desenvolvido para execução direta em navegadores, o sistema oferece um ambiente interativo para explorar conceitos fundamentais de Arquitetura de Computadores e Programação. O diferencial está na possibilidade de visualizar mecanismos de paralelismo em hardware, permitindo compreender na prática o impacto desses recursos no desempenho do software. Um estudo de caso com estudantes de Computação avaliou a usabilidade do sistema, indicando sua viabilidade de uso e potencial pedagógico, embora estudos adicionais sejam necessários para medir sua eficácia educacional de forma quantitativa.
Tendências em Hardware e Estratégias de Otimização para Deep Learning na Borda: Uma Revisão para a Indústria 5.0
A transição para a Indústria 5.0 exige que modelos de Deep Learning (DL) operem localmente em dispositivos de borda para garantir baixa latência e privacidade. Contudo, arquiteturas tradicionais enfrentam limitações severas devido ao custo energético do tráfego de dados. Este artigo fornece uma revisão de componentes de DL, otimizações de software e tendências de hardware. A contribuição central é uma análise de estratégias para mitigar o gargalo de von Neumann em ambientes com restrição de recursos.
Gerenciamento de Sessões e Persistência de Dados em Terminal Web para o Ensino de Computação
Este trabalho propõe uma arquitetura distribuída de terminais de computação de alto desempenho integrados ao Moodle via LTI 1.3. A solução utiliza a orquestração do Kubernetes para o provisionamento dinâmico de ambientes conteinerizados, garantindo distribuição de carga e isolamento de recursos. Implementou-se um sistema de gerenciamento de sessões com interrupção por inatividade para otimização do cluster e uma camada de persistência de dados via MinIO. A proposta busca demonstrar que a abstração da infraestrutura assegura escalabilidade e eficiência no uso do hardware institucional, reduzindo custos operacionais e a complexidade de configuração em comparação a laboratórios físicos tradicionais.
HERMES: Impacto de Algoritmos de Congestionamento no Processo de Certificação de Origem
O comércio internacional atua como motor da economia global, apoiado em cadeias de suprimentos complexas que exigem a comprovação de origem para o acesso a regimes tarifários preferenciais, em especial no setor automotivo, devido a limitações relacionadas a processos manuais e à ausência de plataformas interoperáveis. Tais limitações agravam o tempo de fiscalização aduaneira e geram custos de sobreestadia no Porto de Entrada. Este artigo apresenta a plataforma HERMES, uma arquitetura descentralizada para a emissão e validação de documentos de origem, baseada no acordo ACE 55. O foco principal deste trabalho é analisar o impacto dos algoritmos de controle de congestionamento TCP, CUBIC e BBR na latência da camada de orquestração da plataforma.
Identificação de starvation de aplicação no Apache Spark
Este trabalho investiga o fenômeno de starvation de aplicação no Apache Spark induzido por congestionamento de rede durante operações de shuffle. Em um ambiente virtualizado configurado com DCTCP, foram monitoradas métricas granulares de rede (backlog) e de tarefas (Flow Completion Time e tempo de CPU) sob tráfego concorrente. Os resultados revelam aumento superior a 110% no tempo total de execução, enquanto o tempo de uso da CPU permaneceu inalterado. Essa discrepância atesta ociosidade do processamento e sugere a ocorrência de starvation.
Análise de Eficiência Computacional em Sistemas RAG com Busca Vetorial: Um Estudo de Caso no ProbY
Este trabalho apresenta uma análise da integração entre Retrieval-Augmented Generation (RAG) e busca vetorial sob a perspectiva de eficiência computacional. O estudo avalia o desempenho das etapas de geração de embeddings, recuperação vetorial e geração de respostas por modelos de linguagem. A partir de um benchmarking simplificado, são avaliadas métricas de latência e custo do pipeline. Os resultados indicam que a recuperação vetorial apresenta baixa latência, enquanto a geração de texto concentra a maior parte do tempo de processamento.
Análise comparativa do impacto de ataques à memória persistente no desempenho de sistemas baseados em LLMs
Com a crescente implementação de Large Language Models (LLMs) em sistemas reais, a incorporação de memória persistente tem sido adotada para ampliar a continuidade contextual e a autonomia das aplicações, ao custo de maior complexidade computacional e expansão da superfície de ataque. Este trabalho analisa, sob a perspectiva de Red Team, como ataques direcionados à memória externa podem impactar o desempenho operacional de sistemas baseados em LLMs considerando métricas como latência de Entrada/Saída (E/S), Time to first token (TTFT), latência total e throughput. A partir de uma análise comparativa, discute-se como a persistência maliciosa pode ocasionar degradação progressiva de desempenho e comprometer a eficiência do sistema ao longo do tempo.
Avaliação de Desempenho entre Bibliotecas Populares no Reconhecimento Digital de Placas
Este trabalho avalia diversas abordagens para detecção e reconhecimento de placas de veículos utilizando bibliotecas populares. Ferramentas como Google Cloud Vision, OpenCV com Pytesseract e YOLOv8 são comparadas em relação à eficiência e precisão. Os resultados demonstram a influência significativa da qualidade das imagens e das condições de iluminação no desempenho dos métodos avaliados.
Análise da Influência da Interface de Rede no Desempenho de Benchmarks NAS
Este estudo procura entender a influência das interfaces de rede no desempenho já que mesmo com interfaces dezenas de vezes mais rápidas, o ganho de desempenho global não é necessariamente proporcional à largura de banda. Foram realizados testes com as interfaces Ethernet e InfiniBand visando comparar e determinar se os resultados são compatíveis com a diferença bruta de desempenho entre elas. Concluiu-se que houve um impacto considerável, embora não totalmente proporcional à diferença bruta de velocidade.
Avaliação Energética Sensível ao Regime de Execução em GPU: PyTorch e Pré-processamento Externo em Go/Rust
O custo energético crescente de cargas de IA/ML em GPUs exige benchmarks capazes de medir energia de ponta a ponta, e não apenas throughput. Apresentamos o GC-Bench, um harness orientado por configuração que expande planos YAML em experimentos reprodutíveis, amostra potência da GPU via NVML com fallback para nvidia-smi e gera relatórios com base estatística. Avaliamos dois caminhos de execução sobre um mesmo backbone TinyLM em PyTorch: um em PyTorch puro e outro com tokenização externa em Go/Rust. Em 1.018 execuções validadas, o treino apresentou quase empate, enquanto a inferência favoreceu o PyTorch puro, que reduziu o J/token da GPU em 6,73%. Em H2D, memória pinned elevou a largura de banda em 2,82× e reduziu J/GB em 19%. O GC-Bench é disponibilizado como artefato aberto para apoiar estudos reprodutíveis de energia.
Avaliação da Linguagem Go em Computação de Alto Desempenho por meio dos NAS Parallel Benchmarks
Este trabalho avalia a linguagem Go nesse contexto por meio da implementação de cinco kernels do NAS Parallel Benchmarks (NPB): EP, IS, CG, MG e FT. As implementações foram validadas com base nos resultados oficiais do benchmark e comparadas experimentalmente com versões em C++, Fortran e Rust. Os experimentos foram conduzidos em ambiente multicore utilizando a classe C do NPB e diferentes níveis de paralelismo. Os resultados mostram que, embora Go apresente bom speedup em alguns ambiente de execução, seus tempos de execução e escalabilidade são, em geral, inferiores aos observados nas demais linguagens analisadas. Esses resultados indicam que características do e custos de sincronização podem impactar o desempenho da linguagem em cenários de HPC.
Avaliação de Desempenho de Do Concurrent, OpenMP e MPI em Kernels do NAS Parallel Benchmarks
Este trabalho avalia o desempenho da construção Do Concurrent do Fortran frente ao OpenMP e MPI, utilizando os kernels CG, FFT, IS e MG do NAS Parallel Benchmarks em Classe C. Os resultados indicam que o Do Concurrent oferece ganhos relevantes em kernels com acesso regular à memória, porém ainda inferior às abordagens tradicionais, evidenciando limitações na geração automática de paralelismo pelo compilador.
Avaliação de Frameworks de HPC em Python: Uma Análise Comparativa entre NumPy, CuPy, PyTorch e Numba Usando Operações Numéricas Vetorizadas
A computação de alto desempenho (HPC) faz uso crescente de aceleradores como GPUs. Entretanto, programar diretamente em CUDA é uma tarefa trabalhosa e complexa. Python, por sua simplicidade e grande ecossistema, oferece diversas ferramentas capazes de explorar GPUs de forma transparente. Este trabalho realiza uma avaliação comparativa entre NumPy, CuPy, PyTorch e Numba, aplicando um mesmo conjunto de operações numéricas vetorizadas. Os resultados indicam que as soluções baseadas em GPU apresentam ganhos expressivos para tamanhos maiores de entrada.
Quantifying System-Level Optimizations for Latency and Frame-Time Stability in Real-Time Workloads
This paper investigates how Windows 11 and GPU driver tuning affect latency-related behavior in a real-time gaming workload. We compare an out-of-the-box profile (OOB) and an optimized profile (OPT) in Counter-Strike 2 (CS2) using PresentMon, FrameView, VProf Lite, and LatencyMon. Across ten deterministic low-preset runs per profile, OPT increases average throughput from 272.64 to 281.61 FPS (+3.29%), but worsens frametime tails (p95: 5.520 to 6.987 ms; p99: 6.017 to 7.795 ms). A complementary preset comparison shows that graphics-load choice has a much larger effect than OS tuning: the high preset drops performance to about 132 FPS with 7.56 ms mean frametime. Overall, the results expose a clear trade-off between average throughput and worst-frame behavior and reinforce the use of tail-aware metrics in latency-sensitive workloads.
Comparação de Consumo de Energia entre CPU e GPU em Computadores de Uso Doméstico
Este trabalho avalia o desempenho e o consumo energético da multiplicação de matrizes quadradas utilizando paralelismo em CPU (OMP) e paralelismo heterogêneo CPU-GPU (CUDA) em computadores domésticos. A partir do algoritmo clássico com técnica de blocagem, analisaram-se os impactos em cada tipo de arquitetura. Experimentos foram realizados em três equipamentos domésticos, medindo-se tempo de execução e potência média do sistema para estimar a energia incremental. Os resultados mostram superioridade consistente da GPU tanto em desempenho quanto em energia total consumida.
Desempenho e Consumo Energético em Arquiteturas de CPU Homogêneas e Híbridas Utilizando Benchmarks NAS
Este trabalho visa analisar o impacto das tecnologias SMT e Turbo Boost no desempenho e eficiência energética de processadores com arquitetura híbrida (Intel 14ª geração) comparados a uma arquitetura homogênea. Foi usado o conjunto NAS Parallel Benchmarks para mensurar tempo de execução e consumo de energia. Os resultados indicam que a arquitetura híbrida apresenta desempenho superior, impulsionado pelos P-Cores com Turbo Boost, mas sofre com escalabilidade não-linear devido à heterogeneidade dos núcleos. Já a homogênea exibiu escalabilidade consistente até o limite físico dos núcleos. Quanto ao consumo de energia, o Turbo Boost reduz o tempo de execução porém ele eleva a potência instantânea, diminuindo a eficiência em cargas longas.
Avaliação da Performance Paralela do Método dos Conjuntos Análogos Usando KD-Tree e Implementado em Pthreads
O Método dos Conjuntos Análogos é utilizado para reconstruir séries temporais incompletas usando séries correlacionadas. No entanto, seu custo computacional pode ser substancial, devido à inclusão de diversas variáveis ao longo de longos períodos de treinamento. Este artigo demonstra que a paralelização permite processar grandes bases climáticas em estações de trabalho comuns. A implementação alcançou um speedup de 7,06x com 12 threads.
Avaliação de Runtimes de Alto Desempenho para Aplicações de Stream Processing
Este trabalho avalia o potencial de desempenho de abstrações em C++ para stream processing, por meio da execução de aplicações reais de streaming, comparando uma implementação nativa com OpenMPI à ResiPipe, uma versão desenvolvida com uma dessas abstrações. Os resultados indicam que a versão abstraída introduz uma redução significativa na complexidade de desenvolvimento, acompanhada de um impacto negativo médio de 9.33% na vazão das aplicações em relação à implementação com OpenMPI. Esses achados quantificam o trade-off entre desempenho e nível de abstração.
Avaliação Experimental dos Trade-offs entre Precisão Numérica, Desempenho e Eficiência Energética em Inferência com TensorRT
A inferência eficiente de modelos de aprendizado profundo em GPU depende fortemente da representação numérica adotada. Este trabalho avalia os efeitos de FP16, BF16 e INT8 sobre acurácia, latência, throughput, energia por amostra e tamanho do engine, tomando FP32 como baseline, em inferência com ResNet-50, ImageNet-100, TensorRT e trtexec em uma NVIDIA GeForce RTX 5090. A campanha principal gerou 364 registros brutos, e a análise inferencial considerou 30 repetições por precisão nos lotes 1, 8 e 32. Os resultados mostram que INT8 obteve o maior desempenho bruto e a melhor eficiência energética, mas com perda de 2,92 p.p. em Top-1 em relação ao FP32. Sob o critério de aceitação adotado — speedup ≥ 1,15× e ∆Top-1 ≥ −1,0 p.p. — FP16 e BF16 foram classificadas como vantajosas em todos os tamanhos de lote. Entre elas, FP16 apresentou o melhor compromisso global, com speedup entre 4,22× e 4,54× e redução energética entre 70,5% e 78,4%, sem perda observável de Top-1 nesta campanha. A análise inferencial confirmou diferenças estatisticamente significativas entre as precisões para latência, throughput e energia em todos os lotes avaliados (p < 0,05).
Análise de Desempenho do Software NNCodec Utilizando Redes Neurais para Processamento de Imagens
Os algoritmos de redes neurais profundas têm sido amplamente utilizados no contexto do processamento visual. Dada a complexidade e a demanda por armazenamento dos modelos que lidam com esse tipo de dado, em contextos práticos de aplicação com dispositivos e sistemas com limitações de hardware, a compressão torna-se essencial. Este trabalho avalia o desempenho do NNCodec, implementação de referência do padrão de codificação de redes neurais, Neural Network Compression and Representation, tanto em termos de eficiência de compressão quanto do impacto da compressão no desempenho das redes. Os resultados indicam que o NNCodec reduziu significativamente o tamanho das redes, alcançando uma taxa de compressão média de, aproximadamente, 86,78%, e preservou o desempenho dos modelos avaliados.
Performance Evaluation of Distributed Deep Learning Training on Low-Bandwidth Networks
The growing complexity of Deep Learning models makes training on single devices difficult, requiring distributed strategies like Data Parallelism. However, this approach introduces critical synchronization challenges between processing units. This work evaluates TensorFlow parallel strategies on an HPC cluster with low-bandwidth network to analyze how application factors contribute to time reduction. The study compares the standard synchronous method against a proposed Custom Training Loop with gradient accumulation designed to reduce the bottleneck by synchronizing gradients less frequently. Our results indicate that optimizing synchronization intervals and batch sizes allows for scalable performance gains even on low-bandwidth infrastructure.
Análise Comparativa de Desempenho entre Lustre e GekkoFS em Cargas de Trabalho Intensivas de Metadados em HPC
Sistemas de Computação de Alta Performance (HPC) dependem de sistemas de arquivos paralelos capazes de sustentar altos níveis de throughput e escalabilidade. No entanto, cargas de trabalho modernas — caracterizadas por operações intensivas de metadados e I/O de blocos pequenos — impõem desafios severos a sistemas tradicionais como o Lustre, frequentemente limitados por gargalos em servidores de metadados centralizados. Apresentamos uma análise comparativa entre o Lustre e o GekkoFS, um sistema de arquivos ad-hoc projetado para atenuar tais limitações. Através de benchmarks sintéticos, avaliamos o desempenho de dados e a eficiência em operações de metadados. O objetivo é mapear os cenários de uso em que o GekkoFS oferece vantagens competitivas sobre o Lustre, especialmente em workloads dominados por operações intensivas de metadados e acessos de pequeno porte com alta concorrência.
Go como Orquestrador de Treinamento e Serving para Cargas de Trabalho Transformer
Este artigo descreve o estado operacional atual de um orquestrador em Go para workloads Transformer no projeto neural-lm-hpc. O Go concentra configuração, controle de treino, checkpointing, serving gRPC e observabilidade Prometheus, enquanto a execução numérica permanece contida em uma engine Rust. A principal contribuição é uma camada de orquestração com baixo acoplamento, que preserva a configuração original do modelo, isola a fronteira FFI (Foreign Function Interface) através de interfaces pequenas e torna o serving testável de forma independente da engine numérica. O resultado é uma base prática para ciclos curtos de experimentação.
Rust como Engine para Transformers: FFI Estável, Benchmarks e Controle de Dispositivo
Este artigo apresenta a engine Rust usada pelo projeto neural-lm-hpc para executar workloads Transformer. A engine concentra armazenamento tensorial, modelo, tokenizer, otimizador, exports FFI e backends CPU/CUDA, enquanto scripts reprodutíveis de benchmark reutilizam um runner de profiling simples. As principais contribuições sao um runtime com controle explícito de dispositivo, uma C ABI estável consumida pelo Go e scripts operacionais para throughput, latência e memória. Os resultados em CPU-only mostram o custo esperado de escalar de 125M para 1.3B parâmetros e estabelecem uma baseline reprodutível para futuras medições em CUDA.
Processamento de Alto Desempenho em Python: Uma Análise Comparativa de Bibliotecas de Aprendizado de Máquina
Este trabalho compara os frameworks Pytorch, TensorFlow e JAX para a implementação em Python de aplicações de aprendizado de máquina focados em desempenho. Uma análise teórica das características e otimizações realizadas aponta que JAX e TensorFlow 2.x tenderão a um desempenho de throughput superior em cargas de trabalho como Transformers, enquanto o Py-Torch 2.x se destaca no equilíbrio entre usabilidade e velocidade.
Paralelização de uma Aplicação de Simulação de Escoamento de Fluidos em Plano Inclinado
Este trabalho apresenta a refatoração e paralelização de um solver CFD para execução eficiente em arquiteturas heterogêneas. Foram avaliados diferentes modelos de programação paralela, incluindo OpenMP, OpenACC e CUDA. Os resultados indicam que abordagens baseadas em diretivas apresentam bom desempenho em ambientes multi-core, enquanto implementações em GPU oferecem ganhos expressivos para domínios computacionais maiores.
Efetividade vs. Custo Computacional: Uma proposta para análise de ataques de sufixo adversarial GCG e nanoGCG
Com a adoção de Large Language Models (LLMs) em tarefas cotidianas, é necessário avaliar os riscos de segurança e conformidades de desempenho. Analisar estes sistemas é essencial para verificar seu alinhamento às diretrizes regulatórias. Este artigo apresenta uma proposta de análise comparativa entre os métodos de ataque adversarial baseados em sufixo Greedy Coordinate Gradients (GCGs) e nanoGCGs (nanoGCGs), mensurando custo computacional e efetividade adversarial no ambiente Python Risk Identification Tool (PyRIT) por meio de métricas como tempo de execução, consumo de memória e taxa de sucesso de ataque.
Simulador de Estruturas Periódicas para o Desenvolvimento de Processadores Ópticos
A fotônica é a base para a concepção de processadores ópticos. Este trabalho apresenta o desenvolvimento de um simulador interativo capaz de gerar estruturas periódicas para o percorrimento da luz, em duas e três dimensões, a partir de funções matemáticas. O objetivo do projeto é fornecer uma ferramenta computacional que possibilite a produção de padrões precisos e reprodutíveis, sem a necessidade de montagens experimentais complexas.
Simulador de Sistemas Operacionais PampaSim
O ensino de sistemas operacionais enfrenta o desafio da abstração, onde mecanismos internos como o escalonamento de processos são de difícil observação em sistemas reais. O PampaSim surge como uma solução didática baseada em eventos discretos, permitindo que estudantes visualizem e experimentem cenários de execução de processos em tempo real. Construído sob o padrão arquitetural MVVM e desenvolvido utilizando Java e JavaFX, o simulador oferece uma interface intuitiva para a configuração de algoritmos de escalonamento e criação de processos. Este trabalho explora a estrutura modular do sistema, suas funcionalidades principais e sua relevância como recurso aberto e expansível para suporte do estudo de sistemas operacionais.
Efeito das Políticas de Escalonamento do Linux na Execução Sustentável de um Modelo de RNN LSTM
Este trabalho avalia o impacto das políticas de escalonamento do Linux na execução de um modelo de RNN LSTM para estimar massa de forragem no Bioma Pampa, comparando FIFO, RR, Batch, Idle e Other. A análise com Perf indicou melhor desempenho da RR e, em diferentes cenários, menor consumo energético, sugerindo que ajustes no SO tornam a computação mais eficiente e sustentável, reduzindo a pegada de carbono.
Previsão da Frota Municipal de Veículos Elétricos no Brasil usando Machine Learning
Este trabalho apresenta uma abordagem prática para predizer a frota municipal de veículos elétricos (VEs) no Brasil. O objetivo é avaliar algoritmos de aprendizado de máquina na predição por município, relacionando precisão estatística (RMSE e R²) e custo computacional (CPU). Assim, busca-se apoiar o planejamento energético e a seleção de algoritmos de Machine Learning.
Acelerando a Modelagem Sísmica Fletcher em GPUs por meio do uso de Shared Memory
A RTM (Reverse Time Migration) em meios TTI (Isotropia Transversal Inclinada) é fundamental para o cálculo sísmico de alta fidelidade na exploração de hidrocarbonetos. No entanto, a modelagem baseada em diferenças finitas apresenta alta complexidade computacional e é classicamente limitada pela movimentação de dados. Uma aplicação caracterizada por essa dificuldade é a aplicação Fletcher, uma simulação de propagação de ondas no tempo utilizando a discretização para cálculo de diferenças finitas, assim as modificações no código são focadas no controle explícito da hierarquia de memória. Este trabalho propõe utilizar técnicas de Shared Memory Tiling e reduzindo os acessos redundantes à memória global. Experimentos foram realizados nas GPUs NVIDIA RTX 4090 e L40S, a versão otimizada teve um ganho de desempenho em média de 17,2% em relação à versão base, sem o emprego de shared memory.
Escalonando Workflows com Redes Convolucionais de Grafos
Este trabalho propõe o uso de uma Residual Graph Convolutional Network (ResGCN) para selecionar dinamicamente uma política para escalonamento de workflows. O modelo avalia indicadores de makespan, footprint, slowdown e balanceamento de carga. A ResGCN obteve mais de 56,67% de acurácia, indicando um caminho promissor na identificação de gargalos e adaptação ao estado da infraestrutura.
Oldowan: Ambiente Web Interativo para Simulação do Processador MIPS32
O ensino de Arquitetura de Computadores desafia a ilustração de conceitos complexos como pipeline e hierarquia de memória. Este artigo apresenta o Oldowan, um simulador MIPS32 baseado na Web. Diferente de soluções que exigem instalação, o Oldowan oferece acessibilidade imediata via navegador. A ferramenta permite execução passo a passo e visualização detalhada dos estágios do pipeline, Caches de Instrução e Dados, e registradores. O simulador serve como apoio pedagógico para a compreensão prática de processadores RISC, eliminando barreiras de configuração de ambiente.
A Proposal for a Simulation of PCAD Network Topology Using SimGrid
Simulation is a well-established methodology for evaluating High-Performance Computing (HPC) systems, ensuring reproducibility and reduced energy footprints. This work proposes a programmatic network model of the PCAD infrastructure, a heterogeneous institutional cluster, using the SimGrid S4U API. Focusing on four core partitions, we map the physical architecture into a simulated structure and calibrate the platform properties with experimentation. The main goal is to enable local researchers to replicate experiments and study scalability even with limited physical hardware.
Proposta de Modelo de Custo para Paralelização de Estágios em Pipelines Lineares
A programação paralela continua sendo uma tarefa difícil, que exige programadores especializados. Portanto, busca-se soluções que auxiliem o desenvolvimento de aplicações paralelas. Uma dessas soluções é a paralelização automática no nível de compilador. Para aplicações de paralelismo de stream, pode-se utilizar a DSL SPar. No entanto, o programador ainda precisa escolher explicitamente o grau de paralelismo para cada estágio do pipeline. Nesta pesquisa, propõe-se um modelo de custo para determinar quais estágios podem se beneficiar da replicação, com o objetivo de dispensar ao programador a especificação do grau de paralelismo.
Escalonando tarefas comunicantes em topologias DragonFly com Aprendizado por Reforço
O escalonamento eficiente de workflows em data centers de computação de alto desempenho exige decisões que considerem a topologia da rede de interconexão. Este trabalho apresenta um escalonador baseado em Aprendizado por Reforço com arquitetura Actor-Critic que incorpora consciência topológica da rede DragonFly. Resultados demonstram que a incorporação de informações topológicas permite ao agente aprender políticas que favorecem a localidade das tarefas, reduzindo o custo de comunicação.
Kernel Fusion of Parallel Skeletons for GPU using Metaprogramming
Graphics Processing Units (GPUs) are the current generation of accelerators for high-performance computing (HPC). However, developing efficient applications fully utilizing the resources of the GPU is a time-consuming task. Algorithmic Skeletons help to simplify development by providing reusable patterns, but it often results in many independent kernel launches that are bounded by memory bandwidth, which otherwise could be fused to increase performance gains. In this work, we developed a fusion module that enables programmers to write composable GPU kernels that are efficiently merged. Our approach is applied to PolyHok, a domain-specific language (DSL) that exposes metaprogramming features enabling kernel fusion as high-level code transformations. The practical benefits of this solution are that it doesn’t require modifying any existing compilers. We provide an open-source prototype implementation as well as an experimental evaluation of the feasibility of fusing skeletons.
Avaliação de Modelos de Linguagem de Grande Escala na Geração Automática de Código Paralelo OpenMP
Este trabalho apresenta uma avaliação de Modelos de Linguagem de Grande Escala (LLMs) — incluindo ChatGPT 4.5, Gemini 3, Qwen, CodeLlama, entre outros — na geração/anotação automática de código paralelo OpenMP. Utilizando a suíte de benchmarks PolyBench/C, comparou-se o desempenho das versões geradas por Inteligência Artificial contra implementações manuais de especialistas e ferramentas de compilação determinísticas, como o LLVM PoLLy. Os resultados experimentais revelam que LLMs modernos produzem código com speedup competitivo, superando ferramentas tradicionais em cenários cache-friendly, embora ainda enfrentem desafios em kernels com dependências de dados complexas nos quais o modelo poliédrico prevalece.
Beyond the DAG: Visualizing Scheduling Bottlenecks in Task-Based Applications
Diagnosing starvation in task-based runtimes like StarPU typically requires tedious manual inspection of complex Directed Acyclic Graphs (DAGs). We propose a visual methodology that abstracts dependencies to evaluate critical path handling at a glance. Combining an enhanced k-iteration chart with StarVZ’s lackready panel reveals scheduling bottlenecks without granular DAG analysis. We validate this approach by comparing Work Stealing (WS) and Locality Work Stealing (LWS) schedulers executing a tiled QR factorization. Visual evidence confirms WS achieves a statistically significant makespan improvement by sacrificing cache locality to unroll critical tasks, effectively preventing starvation and outperforming LWS.
ViSPAC: Coleta e compressão adaptativas guiadas por risco em monitoramento em um ciclo Edge–Fog–Cloud
O monitoramento remoto pode sobrecarregar dispositivos e redes de borda com fluxos contínuos de sinais vitais. Este artigo apresenta o ViSPAC, um ciclo Edge–Fog–Cloud fechado em que a camada Fog calcula o National Early Warning Score 2 (NEWS2) e adapta, conjuntamente, a coleta e a compressão na borda. Em ambiente experimental distribuído na Amazon Web Services (AWS), o ViSPAC reduziu as transmissões em 96,7%, atingiu 81,6% de compressão média e preservou a fidelidade média global do sinal (Percent Root-mean-square Difference – PRD) de 1,16%, com latência média de realimentação de 1,05 s.
Auto-Adaptive Multi-Objective Scheduling for Academic HPC Grids: Simulation and Execution with OAR and SimGrid
This paper proposes an auto-adaptive scheduling framework integrating OAR, a production-grade scheduler deployed in Grid’5000, with SimGrid-based simulation to enable continuous learning and multi-objective optimization. Unlike existing approaches that treat prediction, simulation, and scheduling separately, this framework establishes a closed feedback loop where runtime data from simulated Grid’5000 environments informs policy evaluation, and validated policies are designed for deployment back into OAR via its plugin architecture. The proposed framework intents to balance makespan, energy consumption, and fairness while supporting containerized scientific workflows through simulation that models operational conditions.
Desafios e Abordagens para Alocação Dinâmica de Recursos em Sistemas HPC com MPI
Este artigo descreve brevemente o problema da alocação dinâmica de recursos em ambientes HPC com MPI, discutindo tipos de alocação e escalonamento, funcionalidades das versões do MPI e abordagens para mudança de recursos em aplicações MPI. Ao final, propõe uma revisão da literatura e a avaliação das principais ferramentas de alocação de recursos em clusters HPC.
Proposta de Modelo de Programação de Dataflow para Aplicações de Stream Processing em C++
Este trabalho propõe uma abstração de programação em C++ para execução distribuída de aplicações de stream processing modeladas como grafos acíclicos (dataflow). É proposta uma API capaz de expressar topologias complexas, preservando a eficiência de runtimes baseadas em MPI. Os resultados mostram um ganho de produtividade de 27.2% e um overhead de 1.93% comparado com OpenMPI nativo. Além disso, demonstramos um resultado superior a frameworks do estado da arte baseados em Java como Apache Flink.
Esqueletos de Paralelismo Map e Reduce Customizáveis com PolyHok
A crescente demanda por alto desempenho tem impulsionado o uso de abstrações que simplifiquem a programação paralela. Entre elas, os esqueletos de paralelismo encapsulam padrões recorrentes como Map e Reduce, que estruturam a aplicação de funções sobre conjuntos de dados segundo estratégias paralelas pré-definidas. Este trabalho expande o suporte destes esqueletos na DSL PolyHok, explorando otimizações e características configuráveis dos mesmos. A proposta busca conciliar expressividade e eficiência, comparando seu desempenho com implementações em CUDA puro.
Traçando um paralelo entre C++ e Rust para programação multithread
O trabalho objetiva comparar recursos multithread em C++ e Rust, linguagens com abordagens distintas no gerenciamento de memória e concorrência. Enquanto C++ oferece grande flexibilidade, responsabilizando o programador pelo controle dos recursos, Rust impõe restrições em tempo de compilação por meio do sistema de ownership e borrow checker. A comparação abrange três eixos principais: threads, ponteiros e comunicação entre threads, analisando como os mecanismos da linguagem afetam o desenvolvimento concorrente. Apoiando-se em trabalhos que indicam desempenho similar entre as linguagens, e propor usando o modelo GQM para estruturar a comparação de expressividade e equivalência de implementação em etapas futuras.
How STF allows trivial overlap of I/O and computations on Forward RTM
With the evermore complex ecosystem of High Performance Computing (HPC), the Sequential Task Flow (STF) model arrives to provide a convenient interface to compute in heterogeneous architectures. This paper presents Star-Fletcher, a Reverse Time Migration (RTM) program implemented using STF alongside time tiling which resulted in the side effect of complete I/O to disk masking.
Medições de Consumo de Energia em Arquiteturas HPC
Segundo estimativas, o consumo de energia de datacenters pode dobrar até o ano de 2030. Para garantir que as aplicações sejam otimizadas do ponto de vista energético, torna-se necessária a utilização de ferramentas de monitoramento. Esse estudo tem como objetivo realizar a medição de consumo de energia de uma partição do PCAD-UFRGS sob diferentes cargas de trabalho (ociosa, fatoração LU e Stress).
Proposta de Runtime em Nuvem Baseada em Atores e Tolerância a Falhas por Logs para Stream Processing em C++
O Asynchronous Barrier Snapshotting (ABS) é um protocolo de tolerância a falhas, utilizado em sistemas de streaming. Entretanto, ele pode apresentar overhead de desempenho devido à algumas limitações de algoritmos de snapshot, como a necessidade de pausar e reiniciar toda a pipeline para recuperar o estado após a falha de um operador e a impossibilidade de escalar dinamicamente os operadores sem interromper a aplicação. O protocolo LOG.io surgiu como uma alternativa que resolve essas limitações apresentadas. Contudo, os resultados de desempenho obtidos indicaram que o LOG.io apresenta limitações em cenários com altas taxas de input de dados. Desse modo, este trabalho tem como objetivo implementar, no framework Resiflow, os protocolos ABS e LOG.io em uma runtime baseada em nuvem, a fim de analisar e comparar o impacto no desempenho de ambos sob diferentes cargas de dados e cenários de falha.
Proposta de uma Arquitetura de Middleware para Elasticidade Vertical em Nuvem
Este trabalho propõe o elastic cloud, um middleware voltado à implementação de elasticidade vertical autônoma em ambientes de nuvem privada. A solução utiliza um mecanismo de adaptação baseado no ciclo Monitor–Analyze–Plan–Execute (MAPE), responsável por monitorar métricas do sistema e ajustar dinamicamente os recursos das máquinas virtuais conforme Objetivos de Nível de Serviço (SLOs) definidos pelo usuário. A arquitetura proposta busca simplificar o gerenciamento de recursos e melhorar a eficiência da infraestrutura, sem exigir modificações nas aplicações.
Extensão da GSParLib para Suporte a GPUs NVIDIA, AMD e Intel
A programação portável para GPUs de diferentes fabricantes ainda é um desafio em computação de alto desempenho, devido à predominância de código legado em CUDA e às limitações práticas do OpenCL. Este trabalho apresenta uma extensão da GSParLib, originalmente projetada para GPUs NVIDIA, para suportar também GPUs AMD e Intel. Resultados preliminares com benchmarks da suíte NAS Parallel Benchmarks mostram que a GSParLib alcança desempenho similar ou superior ao OpenCL na maioria dos casos, além de maior robustez. Esses resultados indicam que a GSParLib é uma alternativa promissora para programação portável e eficiente em ambientes heterogêneos.
Ambientes Práticos sob Demanda no Moodle com Contêineres: Evidências de Uso em Disciplinas Reais
Este artigo apresenta a avaliação de uma ferramenta que implementa suporte a contêineres integrado ao Moodle. Esta ferramenta foi desenvolvida para oportunizar práticas em laboratório de forma simplificada. Os resultados indicam elevada aceitação pelos estudantes e percepção positiva de impacto pedagógico. A ferramenta, baseada em Docker e Kubernetes, viabiliza a provisão sob demanda de ambientes práticos acessíveis diretamente pelo LMS.