Impacts of parallel programming on limited-resource hardware

Detalhes bibliográficos
Autor(a) principal: Hoffmann Filho, Renato Barreto
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da PUC_RS
Texto Completo: https://tede2.pucrs.br/tede2/handle/tede/10991
Resumo: Limited resource hardware devices are more affordable and energy efficient than high-end hardware. Despite their reduced size, these devices are increasingly complex, with many now featuring multiple processing cores, GPGPU accelerators, and larger RAM capacity. To fully utilize their computational capacity, software developers must exploit parallelism, but this adds an extra layer of complexity because they must balance computational constraints and performance demands. Therefore, choosing the appropriate parallelism strategy and parallel programming interface is crucial to achieving the best hardware performance. To tackle this problem, we defined research objectives to guide our work in finding the most appropriate parallelism strategies and programming interfaces for limited-resource hardware regarding performance and energy consumption. We experimented with 12 applications using three devices and seven parallel programming interfaces. This thesis introduces new metrics, additional applications, various parallelism interfaces, and extra hardware devices. We developed a structured set of research objectives to evaluate parallelism, providing a methodology to organize many parallelism considerations. In summary, this study concludes that parallel computing is beneficial in limited-resource hardware, and higher-level of abstraction parallel programming interfaces are viable options. Our results on target architecture and specific parallelism models indicate that parallelism benefits limited-resource hardware, reducing total energy consumption by up to 63.53% and increasing throughput by up to 112.54%. Additionally, power peak differences are up to 24.98% between programming techniques. Another indication is that there are estimated software complexity differences between programming interfaces of up to 858.33%. Overall, this thesis contributes to understanding the impacts of parallel programming on limited-resource hardware and provides insights into optimizing parallel programs for such hardware. Our findings can be helpful for researchers, developers, and engineers working on parallel programming for limited-resource hardware.
id P_RS_a24bbab90932c81ba809e7aa24fbfd8b
oai_identifier_str oai:tede2.pucrs.br:tede/10991
network_acronym_str P_RS
network_name_str Biblioteca Digital de Teses e Dissertações da PUC_RS
repository_id_str
spelling Impacts of parallel programming on limited-resource hardwareImpactos da programacao paralela em dispositivos com recursos limitadosLimited Resource HardwareParallelismEnergy ConsumptionEmbedded SystemsBenchmarkingRecursos de Hardware LimitadosParalelismoConsumo de EnergiaSistemas EmbarcadosTestesCIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAOLimited resource hardware devices are more affordable and energy efficient than high-end hardware. Despite their reduced size, these devices are increasingly complex, with many now featuring multiple processing cores, GPGPU accelerators, and larger RAM capacity. To fully utilize their computational capacity, software developers must exploit parallelism, but this adds an extra layer of complexity because they must balance computational constraints and performance demands. Therefore, choosing the appropriate parallelism strategy and parallel programming interface is crucial to achieving the best hardware performance. To tackle this problem, we defined research objectives to guide our work in finding the most appropriate parallelism strategies and programming interfaces for limited-resource hardware regarding performance and energy consumption. We experimented with 12 applications using three devices and seven parallel programming interfaces. This thesis introduces new metrics, additional applications, various parallelism interfaces, and extra hardware devices. We developed a structured set of research objectives to evaluate parallelism, providing a methodology to organize many parallelism considerations. In summary, this study concludes that parallel computing is beneficial in limited-resource hardware, and higher-level of abstraction parallel programming interfaces are viable options. Our results on target architecture and specific parallelism models indicate that parallelism benefits limited-resource hardware, reducing total energy consumption by up to 63.53% and increasing throughput by up to 112.54%. Additionally, power peak differences are up to 24.98% between programming techniques. Another indication is that there are estimated software complexity differences between programming interfaces of up to 858.33%. Overall, this thesis contributes to understanding the impacts of parallel programming on limited-resource hardware and provides insights into optimizing parallel programs for such hardware. Our findings can be helpful for researchers, developers, and engineers working on parallel programming for limited-resource hardware.Dispositivos de hardware com recursos limitados são mais acessíveis e energeticamente eficientes do que hardware de ponta. Apesar de seu tamanho reduzido, esses dispositivos estão cada vez mais complexos, muitos agora apresentando vários núcleos de processamento, aceleradores GPGPU e maior capacidade de RAM. Para aproveitar ao máximo sua capacidade computacional, os desenvolvedores de software devem explorar o paralelismo, mas isso adiciona uma camada extra de complexidade, pois eles devem lidar com as restrições computacionais e as demandas de desempenho. Portanto, escolher a estratégia de paralelismo apropriada e a interface de programação paralela é crucial para obter o melhor desempenho do hardware. Para enfrentar esse problema, foram definidos objetivos de pesquisa para orientar a pesquisa sobre as estratégias de paralelismo e interfaces de programação mais adequadas para hardware com recursos limitados em relação ao desempenho e consumo de energia. Foram realizados experimentos com 12 aplicações usando três dispositivos e sete interfaces de programação paralela. Esta tese apresentpu novas métricas, diferentes aplicações, várias interfaces de paralelismo e diferentes dispositivos de hardware. Foi desenvolvido um conjunto estruturado de objetivos de pesquisa para avaliar o paralelismo, fornecendo uma metodologia para organizar várias considerações de paralelismo. Em resumo, este estudo concluiu que a computação paralela é benéfica em hardware com recursos limitados. Além disso, interfaces de programação paralela de nível mais alto de abstração são opções viáveis. Os resultados em dispositivos e interfaces específicas indicaram que o paralelismo beneficia o hardware com recursos limitados, reduzindo o consumo total de energia em até 63,53% e a vazão em até 112,54%. Além disso, as diferenças de pico de energia são de até 24,98% entre as técnicas de programação. Outra indicação é que existem diferenças estimadas de complexidade de software entre as interfaces de programação de até 858,33%. Em geral, esta tese contribuiu para a compreensão dos impactos da programação paralela em hardware com recursos limitados e fornece insights para otimizar programas paralelos para esse hardware. Nossas descobertas podem ser úteis para pesquisadores, desenvolvedores e engenheiros que trabalham com programação paralela para hardware com recursos limitados.Pontifícia Universidade Católica do Rio Grande do SulEscola PolitécnicaBrasilPUCRSPrograma de Pós-Graduação em Ciência da ComputaçãoGriebler, Dalvan Jairhttp://lattes.cnpq.br/1989039890812573Fernandes, Luiz Gustavo Leaohttp://lattes.cnpq.br/5979862734558983Hoffmann Filho, Renato Barreto2023-09-15T18:42:44Z2023-03-30info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://tede2.pucrs.br/tede2/handle/tede/10991enginfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RS2023-09-15T23:00:16Zoai:tede2.pucrs.br:tede/10991Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2023-09-15T23:00:16Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false
dc.title.none.fl_str_mv Impacts of parallel programming on limited-resource hardware
Impactos da programacao paralela em dispositivos com recursos limitados
title Impacts of parallel programming on limited-resource hardware
spellingShingle Impacts of parallel programming on limited-resource hardware
Hoffmann Filho, Renato Barreto
Limited Resource Hardware
Parallelism
Energy Consumption
Embedded Systems
Benchmarking
Recursos de Hardware Limitados
Paralelismo
Consumo de Energia
Sistemas Embarcados
Testes
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
title_short Impacts of parallel programming on limited-resource hardware
title_full Impacts of parallel programming on limited-resource hardware
title_fullStr Impacts of parallel programming on limited-resource hardware
title_full_unstemmed Impacts of parallel programming on limited-resource hardware
title_sort Impacts of parallel programming on limited-resource hardware
author Hoffmann Filho, Renato Barreto
author_facet Hoffmann Filho, Renato Barreto
author_role author
dc.contributor.none.fl_str_mv Griebler, Dalvan Jair
http://lattes.cnpq.br/1989039890812573
Fernandes, Luiz Gustavo Leao
http://lattes.cnpq.br/5979862734558983
dc.contributor.author.fl_str_mv Hoffmann Filho, Renato Barreto
dc.subject.por.fl_str_mv Limited Resource Hardware
Parallelism
Energy Consumption
Embedded Systems
Benchmarking
Recursos de Hardware Limitados
Paralelismo
Consumo de Energia
Sistemas Embarcados
Testes
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
topic Limited Resource Hardware
Parallelism
Energy Consumption
Embedded Systems
Benchmarking
Recursos de Hardware Limitados
Paralelismo
Consumo de Energia
Sistemas Embarcados
Testes
CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO
description Limited resource hardware devices are more affordable and energy efficient than high-end hardware. Despite their reduced size, these devices are increasingly complex, with many now featuring multiple processing cores, GPGPU accelerators, and larger RAM capacity. To fully utilize their computational capacity, software developers must exploit parallelism, but this adds an extra layer of complexity because they must balance computational constraints and performance demands. Therefore, choosing the appropriate parallelism strategy and parallel programming interface is crucial to achieving the best hardware performance. To tackle this problem, we defined research objectives to guide our work in finding the most appropriate parallelism strategies and programming interfaces for limited-resource hardware regarding performance and energy consumption. We experimented with 12 applications using three devices and seven parallel programming interfaces. This thesis introduces new metrics, additional applications, various parallelism interfaces, and extra hardware devices. We developed a structured set of research objectives to evaluate parallelism, providing a methodology to organize many parallelism considerations. In summary, this study concludes that parallel computing is beneficial in limited-resource hardware, and higher-level of abstraction parallel programming interfaces are viable options. Our results on target architecture and specific parallelism models indicate that parallelism benefits limited-resource hardware, reducing total energy consumption by up to 63.53% and increasing throughput by up to 112.54%. Additionally, power peak differences are up to 24.98% between programming techniques. Another indication is that there are estimated software complexity differences between programming interfaces of up to 858.33%. Overall, this thesis contributes to understanding the impacts of parallel programming on limited-resource hardware and provides insights into optimizing parallel programs for such hardware. Our findings can be helpful for researchers, developers, and engineers working on parallel programming for limited-resource hardware.
publishDate 2023
dc.date.none.fl_str_mv 2023-09-15T18:42:44Z
2023-03-30
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 https://tede2.pucrs.br/tede2/handle/tede/10991
url https://tede2.pucrs.br/tede2/handle/tede/10991
dc.language.iso.fl_str_mv eng
language eng
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.publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS
instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron:PUC_RS
instname_str Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron_str PUC_RS
institution PUC_RS
reponame_str Biblioteca Digital de Teses e Dissertações da PUC_RS
collection Biblioteca Digital de Teses e Dissertações da PUC_RS
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
repository.mail.fl_str_mv biblioteca.central@pucrs.br||
_version_ 1850041122934489088