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

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: Thums, José Eduardo
Orientador(a): Reis, Ricardo Augusto da Luz
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Palavras-chave em Inglês:
Link de acesso: http://hdl.handle.net/10183/281230
Resumo: 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.
id URGS_2925bdfc102eb459d280e9aaa5f067f6
oai_identifier_str oai:www.lume.ufrgs.br:10183/281230
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str
spelling Thums, José EduardoReis, Ricardo Augusto da Luz2024-11-15T06:55:34Z2024http://hdl.handle.net/10183/281230001215953A 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.The Internet of Things (IoT) is one of the most revolutionary technological innovations of the 21st century, transforming ordinary objects into interconnected and intelligent devices. With billions of devices connected globally, the IoT continues to create new possibilities and challenges, shaping the future of technology and society. These devices are being used in applications that require high processing capacities and real-time features. In this sense, the use of parallelism techniques has become commonplace to get around performance problems, as devices have begun to rely on multi-core processors. Several studies have already shown in isolation that parallel applications have demonstrated energy efficiency and performance gains when deployed on high-performance multicore platforms, including powerful general-purpose processors and graphics processing units. However, the investigation into the impact of parallelism on resource-constrained devices, as well as the assessment of the reliability of these applications in the face of radiation-induced soft errors, is not as widespread. Thus, the main contribution of this work is to investigate how optimizing the performance of applications in embedded devices for IoT with limited resources, which exploit the potential of parallelism with multiple threads, impacts on the performance, energy efficiency and reliability of soft errors in these devices, with the aim of improving their performance in intensive use scenarios and in real time, providing valuable results so that engineers and researchers can benefit from the analyses carried out. The research was conducted through two case studies, each with different characteristics and applications. The first study proposes the use of the API OpenMP to parallelize critical sections of four different ML inference models running on a Arm Cortex-A7 processor. The second study presents a detailed performance analysis, considering different parallel versions of the CDMJ benchmark, running on four Arm Cortex-A processors. In this analysis, the performance of 5 parallelism libraries is analyzed in relation to performance and real time aspects, such as missed deadlines. In addition, this is the first work to use Mpbenchmark to evaluate the performance of embedded processors, which requires an additional optimization analysis, taking into account the specific resources of the target architecture, carried out by executing versions with instructions specific to that architecture. The results of the analysis of the first case study show that in additionto performance, parallel models increased energy-efficiency by up to 2.6x and provided energy savings of 2.5x, while reducing their susceptibility to radiation-induced soft errors by up to 6.6x compared to the original sequential versions. As for the CDMJ experiment, the results show that the appropriate choice of parallelism library can influence aspects such as performance, energy efficiency and missed deadlines. In terms of performance, an average variation of up to 66.01% was observed when running on the Cortex-A76 processor, as well as a reduction of up to 70% in energy consumption. The results also show that the extended version, which uses 32-bit floating point SIMD technology, eliminated all missed deadlines when run on the Arm Cortex-A53, A72 and A76 processors. In addition, the proposed correlation analysis revealed that the parallel versions provided performance improvements, increasing energy-efficiency by up to 2.6x and improving application reliability against radiation-induced soft errors by up to 4.4x compared to the sequential versions. In this way, the work makes significant contributions to the field of IoT, demonstrating the effectiveness of parallelism techniques in optimizing embedded devices in environments with time and energy constraints, ensuring greater robustness and reliability in critical applications.application/pdfporTolerância a falhasParalelismoEficiência energéticaMultiprocessadoresDesempenho : Circuitos integradosSoft errorsMicroelectronicsMulticoreSoCsAnálise da correlação entre erros transientes, desempenho e eficiência energética de aplicações paralelas executadas em dispositivos com múltiplos núcleosAnalysis of the correlation between soft errors, performance, and energy efficiency of parallel applications executed on multi-core edge devices info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2024mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001215953.pdf.txt001215953.pdf.txtExtracted Texttext/plain208838http://www.lume.ufrgs.br/bitstream/10183/281230/2/001215953.pdf.txtba8f3d41d9003d68d235dfd9976832aaMD52ORIGINAL001215953.pdfTexto completoapplication/pdf4751722http://www.lume.ufrgs.br/bitstream/10183/281230/1/001215953.pdf2b3074200c6dea81e4097be4612b561eMD5110183/2812302024-11-16 07:52:22.714399oai:www.lume.ufrgs.br:10183/281230Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532024-11-16T09:52:22Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv 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
dc.title.alternative.en.fl_str_mv Analysis of the correlation between soft errors, performance, and energy efficiency of parallel applications executed on multi-core edge devices
title 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
spellingShingle 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
Tolerância a falhas
Paralelismo
Eficiência energética
Multiprocessadores
Desempenho : Circuitos integrados
Soft errors
Microelectronics
Multicore
SoCs
title_short 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
title_full 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
title_fullStr 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
title_full_unstemmed 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
title_sort 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
author Thums, José Eduardo
author_facet Thums, José Eduardo
author_role author
dc.contributor.author.fl_str_mv Thums, José Eduardo
dc.contributor.advisor1.fl_str_mv Reis, Ricardo Augusto da Luz
contributor_str_mv Reis, Ricardo Augusto da Luz
dc.subject.por.fl_str_mv Tolerância a falhas
Paralelismo
Eficiência energética
Multiprocessadores
Desempenho : Circuitos integrados
topic Tolerância a falhas
Paralelismo
Eficiência energética
Multiprocessadores
Desempenho : Circuitos integrados
Soft errors
Microelectronics
Multicore
SoCs
dc.subject.eng.fl_str_mv Soft errors
Microelectronics
Multicore
SoCs
description 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.
publishDate 2024
dc.date.accessioned.fl_str_mv 2024-11-15T06:55:34Z
dc.date.issued.fl_str_mv 2024
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/281230
dc.identifier.nrb.pt_BR.fl_str_mv 001215953
url http://hdl.handle.net/10183/281230
identifier_str_mv 001215953
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/281230/2/001215953.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/281230/1/001215953.pdf
bitstream.checksum.fl_str_mv ba8f3d41d9003d68d235dfd9976832aa
2b3074200c6dea81e4097be4612b561e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1831316189284925440