Análise da correlação entre erros transientes, desempenho e eficiência energética de aplicações paralelas executadas em dispositivos com múltiplos núcleos - Thums, José Eduardo (2024)
A Internet das Coisas (IoT) é uma das inovações tecnológicas mais revolucionárias do século XXI, transformando objetos comuns em dispositivos interconectados e inteligentes. Com bilhões de dispositivos conectados globalmente, a IoT continua a criar novas possibilidades e desafios, moldando o futuro da tecnologia e da sociedade. Esses dispositivos estão sendo utilizados em aplicações que exigem altas capacidades de processamento e características de tempo real. Nesse sentido, o uso de técnicas de paralelismo são comuns para contornar problemas de desempenho, já que os dispositivos começaram a contar com processadores de múltiplos núcleos. Diversas pesquisas já evidenciaram de maneira isolada, que aplicações paralelas demonstraram eficiência energética e ganhos de desempenho quando implantados em plataformas multinúcleos de alto desempenho, incluindo processadores de propósito geral poderosos e unidades de processamento gráfico. No entanto, a investigação sobre o impacto do paralelismo em dispositivos com recursos limitados, bem como a avaliação da confiabilidade dessas aplicações frente aos erros transientes induzidos por radiação, não está tão disseminada. Desta forma, a principal contribuição deste trabalho, é investigar como a otimização do desempenho de aplicações em dispositivos embarcados para IoT com recursos limitados, que exploram o potencial do paralelismo com múltiplas threads impactam no desempenho, eficiência energética e confiabilidade de erros transientes nesses dispositivos, visando aprimorar sua performance em cenários de uso intensivo e em tempo real, fornecendo resultados valiosos para que engenheiros e pesquisadores possam se beneficiar das análises realizadas. A pesquisa foi conduzida por meio da execução de dois estudos de caso, cada um com características e aplicações distintas. O primeiro estudo propõe a utilização da Application Programming Interfaces (API) OpenMP para paralelizar seções críticas de quatro diferentes modelos de inferência de Machine Learning (ML) executados em um processador Arm Cortex-A7. O segundo estudo, por sua vez, apresenta uma análise detalhada de desempenho, considerando diferentes versões paralelas do benchmark da Calculadora de Desempenho de Motores a Jato (CDMJ), executados em quatro processadores Arm Cortex-A. Nesta análise, o desempenho de 5 bibliotecas de paralelismo são analisadas em relação ao desempenho e referente a aspectos de tempo real, como prazos não cumpridos. Além disso, este é o primeiro trabalho a utilizar o Mpbenchmark para avaliar o desempenho de processadores embarcados, o que exige uma análise adicional de otimização, levando em conta os recursos específicos da arquitetura alvo, realizada por meio da execução de versões cominstruções específicas para essa arquitetura. Os resultados das análises do primeiro estudo de caso mostram que além do desempenho, modelos paralelos aumentaram em até 2,6x a eficiência energética e proporcionaram uma redução no consumo de energia de 2.5x, enquanto reduziram sua suscetibilidade à ocorrência de erros transientes induzidos por radiação em até 6,6x em relação às versões sequenciais originais. Já no experimento da CDMJ, os resultados demonstram que a escolha apropriada da biblioteca de paralelismo pode influenciar aspectos como desempenho, eficiência energética e prazos perdidos. Em relação ao desempenho, observa-se uma variação média de até 66,01% quando executados no processador Cortex-A76, além de uma redução de até 70% no consumo de energia. Os resultados também mostram que a versão estendida, que utiliza tecnologia de ponto flutuante Single Instruction Multiple Data (SIMD) de 32 bits, eliminou todos os prazos perdidos quando executada nos processadores Arm Cortex-A53, A72 e A76. Além disso, a análise da correlação proposta revelou que as versões paralelas proporcionaram melhorias no desempenho, aumentando em até 2,6x a eficiência energética e melhorando a confiabilidade da aplicação frente a erros transientes induzidos por radiação em até 4,4x em comparação com as versões sequenciais. Desta forma, o trabalho apresenta contribuições significativas para o campo da IoT, demonstrando a eficácia das técnicas de paralelismo na otimização de dispositivos embarcados em ambientes com restrições de tempo e energia, garantindo maior robustez e confiabilidade em aplicações críticas.