Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications

Detalhes bibliográficos
Autor(a) principal: Oliveira, Charles Cardoso de
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/212545
Resumo: Aplicações modernas têm levado o processamento paralelo a outro nível de requisitos em desempenho e energia. Entretanto, na maioria dos casos, usar o número máximo de núcleos disponíveis executando na maior frequência possível não oferecerá o melhor Energy-Delay Product (EDP), pois existem vários aspectos que impedem melhorias lineares ao explorá-los. Além disso, as várias regiões paralelas que compõem uma aplicação podem variar em comportamento dependendo de características que podem ser conhecidas apenas em tempo de execução: conjunto de entradas, microarquitetura e número de núcleos disponíveis. Para resolver esse problema, propomos Odin: uma abordagem de autoajuste online e leve que otimiza as aplicações OpenMP para EDP. Enquanto sua natureza dinâmica torna-o capaz de adaptar-se em um ambiente variante, ele também é totalmente transparente para ambos desenvolvedor e usuário final. Portanto, Odin não necessita de nenhuma modificação em código-fonte ou binário, logo potencialmente qualquer arquivo executável OpenMP que seja ligado dinamicamente pode ser otimizado sem nenhum esforço. Ao implementar diferentes estratégias online, nós mostramos que Odin pode de forma transparente melhorar o EDP, em média, em 37.6% quando comparado ao método regular de execução OpenMP com o DVFS configurado para ondemand. Adicionalmente, nós implementamos uma abordagem alternativa offline que usa um algoritmo genético para otimizar as aplicações paralelas, mostrando que Odin pode alcançar resultados similares a ela. Finalmente, nós avaliamos o custo de aprendizado e qualidade da solução de Odin comparando-o com uma busca local exaustiva, que é a configuração ótima para cada região paralela.
id URGS_89d9710cf602e7726350124e368f4bf0
oai_identifier_str oai:www.lume.ufrgs.br:10183/212545
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Oliveira, Charles Cardoso deBeck Filho, Antonio Carlos Schneider2020-08-01T03:59:26Z2019http://hdl.handle.net/10183/212545001093315Aplicações modernas têm levado o processamento paralelo a outro nível de requisitos em desempenho e energia. Entretanto, na maioria dos casos, usar o número máximo de núcleos disponíveis executando na maior frequência possível não oferecerá o melhor Energy-Delay Product (EDP), pois existem vários aspectos que impedem melhorias lineares ao explorá-los. Além disso, as várias regiões paralelas que compõem uma aplicação podem variar em comportamento dependendo de características que podem ser conhecidas apenas em tempo de execução: conjunto de entradas, microarquitetura e número de núcleos disponíveis. Para resolver esse problema, propomos Odin: uma abordagem de autoajuste online e leve que otimiza as aplicações OpenMP para EDP. Enquanto sua natureza dinâmica torna-o capaz de adaptar-se em um ambiente variante, ele também é totalmente transparente para ambos desenvolvedor e usuário final. Portanto, Odin não necessita de nenhuma modificação em código-fonte ou binário, logo potencialmente qualquer arquivo executável OpenMP que seja ligado dinamicamente pode ser otimizado sem nenhum esforço. Ao implementar diferentes estratégias online, nós mostramos que Odin pode de forma transparente melhorar o EDP, em média, em 37.6% quando comparado ao método regular de execução OpenMP com o DVFS configurado para ondemand. Adicionalmente, nós implementamos uma abordagem alternativa offline que usa um algoritmo genético para otimizar as aplicações paralelas, mostrando que Odin pode alcançar resultados similares a ela. Finalmente, nós avaliamos o custo de aprendizado e qualidade da solução de Odin comparando-o com uma busca local exaustiva, que é a configuração ótima para cada região paralela.Modern applications have pushed multithreaded processing to another level of performance and energy requirements. However, in most cases using the maximum number of available cores running at the highest possible operating frequency will not deliver the best Energy-Delay Product (EDP), since there are many aspects that prevent linear improvements when exploiting them. Moreover, the many parallel regions that compose an application may vary in behavior depending on characteristics that can be only known at run-time: input set, microarchitecture, and number of available cores. To solve this problem, we propose Odin: an online and lightweight self-tuning approach that optimizes OpenMP applications for EDP. While its dynamic nature makes it capable of adapting to the changing environment, it is totally transparent to both designer and end-user. Therefore, Odin does not need any source or binary code modifications, so potentially any dynamically linked parallel OpenMP executable file can be optimized with zero effort. By implementing different online strategies, we show that Odin can transparently improve EDP, on average, in 37.6% when compared to the regular OpenMP execution with DVFS set to ondemand. Additionally, we implement an alternative offline approach that uses a genetic algorithm for optimizing the parallel applications, showing that Odin can achieve similar results to it. Finally, we evaluate Odin’s learning overhead and solution quality by comparing it to an exhaustive local search, which is the optimal configuration for each parallel region.application/pdfengProcessamento paraleloOpenMPThread-level parallelism exploitationDVFSruntime environmentsOdin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applicationsOdin: DCT e DVFS online, não-intrusivo e auto-ajustável para otimizar aplicações openMP 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-RS2019mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001093315.pdf.txt001093315.pdf.txtExtracted Texttext/plain156784http://www.lume.ufrgs.br/bitstream/10183/212545/2/001093315.pdf.txt729a9a5fcaf8d1ea52b7a6582a96367dMD52ORIGINAL001093315.pdfTexto completo (inglês)application/pdf1109927http://www.lume.ufrgs.br/bitstream/10183/212545/1/001093315.pdff4ecf0dc11a6a46adb972e6b0da9bab3MD5110183/2125452020-08-05 03:39:18.847321oai:www.lume.ufrgs.br:10183/212545Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532020-08-05T06:39:18Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
dc.title.alternative.pt.fl_str_mv Odin: DCT e DVFS online, não-intrusivo e auto-ajustável para otimizar aplicações openMP
title Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
spellingShingle Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
Oliveira, Charles Cardoso de
Processamento paralelo
OpenMP
Thread-level parallelism exploitation
DVFS
runtime environments
title_short Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
title_full Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
title_fullStr Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
title_full_unstemmed Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
title_sort Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
author Oliveira, Charles Cardoso de
author_facet Oliveira, Charles Cardoso de
author_role author
dc.contributor.author.fl_str_mv Oliveira, Charles Cardoso de
dc.contributor.advisor1.fl_str_mv Beck Filho, Antonio Carlos Schneider
contributor_str_mv Beck Filho, Antonio Carlos Schneider
dc.subject.por.fl_str_mv Processamento paralelo
OpenMP
topic Processamento paralelo
OpenMP
Thread-level parallelism exploitation
DVFS
runtime environments
dc.subject.eng.fl_str_mv Thread-level parallelism exploitation
DVFS
runtime environments
description Aplicações modernas têm levado o processamento paralelo a outro nível de requisitos em desempenho e energia. Entretanto, na maioria dos casos, usar o número máximo de núcleos disponíveis executando na maior frequência possível não oferecerá o melhor Energy-Delay Product (EDP), pois existem vários aspectos que impedem melhorias lineares ao explorá-los. Além disso, as várias regiões paralelas que compõem uma aplicação podem variar em comportamento dependendo de características que podem ser conhecidas apenas em tempo de execução: conjunto de entradas, microarquitetura e número de núcleos disponíveis. Para resolver esse problema, propomos Odin: uma abordagem de autoajuste online e leve que otimiza as aplicações OpenMP para EDP. Enquanto sua natureza dinâmica torna-o capaz de adaptar-se em um ambiente variante, ele também é totalmente transparente para ambos desenvolvedor e usuário final. Portanto, Odin não necessita de nenhuma modificação em código-fonte ou binário, logo potencialmente qualquer arquivo executável OpenMP que seja ligado dinamicamente pode ser otimizado sem nenhum esforço. Ao implementar diferentes estratégias online, nós mostramos que Odin pode de forma transparente melhorar o EDP, em média, em 37.6% quando comparado ao método regular de execução OpenMP com o DVFS configurado para ondemand. Adicionalmente, nós implementamos uma abordagem alternativa offline que usa um algoritmo genético para otimizar as aplicações paralelas, mostrando que Odin pode alcançar resultados similares a ela. Finalmente, nós avaliamos o custo de aprendizado e qualidade da solução de Odin comparando-o com uma busca local exaustiva, que é a configuração ótima para cada região paralela.
publishDate 2019
dc.date.issued.fl_str_mv 2019
dc.date.accessioned.fl_str_mv 2020-08-01T03:59:26Z
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/212545
dc.identifier.nrb.pt_BR.fl_str_mv 001093315
url http://hdl.handle.net/10183/212545
identifier_str_mv 001093315
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.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/212545/2/001093315.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/212545/1/001093315.pdf
bitstream.checksum.fl_str_mv 729a9a5fcaf8d1ea52b7a6582a96367d
f4ecf0dc11a6a46adb972e6b0da9bab3
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_ 1810085528899420160