Odin : online, non-intrusive and self-tuning DCT and DVFS to optimize openMP applications
Autor(a) principal: | |
---|---|
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 |