Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas
| Ano de defesa: | 2021 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal do Pampa
|
| Programa de Pós-Graduação: |
Mestrado Profissional em Engenharia de Software
|
| Departamento: |
Campus Alegrete
|
| País: |
Brasil
|
| Palavras-chave em Português: | |
| Área do conhecimento CNPq: | |
| Link de acesso: | https://repositorio.unipampa.edu.br/jspui/handle/riu/7312 |
Resumo: | Diversas estratégias de otimização online e offline têm sido empregadas para melhorar o desempenho e consumo de energia de aplicações paralelas. Enquanto o primeiro conjunto de estratégias podem obter valores de métricas que só podem ser conhecidas em tempo de execução, o segundo (Offline) não impõe nenhuma sobrecarga durante a execução e pode utilizar algoritmos mais eficientes. No entanto, os algoritmos de aprendizagem das estratégias offline podem levar várias horas para encontrar uma solução, impedindo seu uso ou a portabilidade entre diferentes sistemas. Neste cenário, esta dissertação propõe uma metodologia para diminuir o tempo de aprendizado de estratégias offline, inferindo o comportamento da execução de aplicações paralelas utilizando conjuntos de entrada menores do que os utilizados pelas aplicações alvo. Duas estratégias de otimização são implementadas: SEA, onde todas as regiões paralelas de uma aplicação são executadas com o mesmo número de threads; e SPRA, que busca encontrar um número ideal de threads para cada região paralela de uma determinada aplicação. Com um extenso conjunto de experimentos, mostramos que as estratégias SEA e SPRA convergem para resultados próximos de uma abordagem offline aplicada sobre a entrada regular, mas sendo 88% e 87% mais rápidas, em média, respectivamente. Também mostrou-se que SPRA é melhor que SEA para aplicações desbalanceadas. Palavras-chave: Computação Paralela. Otimização de Sistemas em Tempo de Execução. Paralelismo em Nível de Threads. Energy-delay Product. |
| id |
UNIP_a2db08db69f373b4728dd0bdd144252a |
|---|---|
| oai_identifier_str |
oai:repositorio.unipampa.edu.br:riu/7312 |
| network_acronym_str |
UNIP |
| network_name_str |
Repositório Institucional da UNIPAMPA |
| repository_id_str |
|
| spelling |
Lorenzon, Arthur FranciscoBerned, Gustavo Paim2022-06-01T18:19:14Z2022-05-302022-06-01T18:19:14Z2021-05-20BERNED, Gustavo Paim. Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas. Orientador: Arthur Francisco Lorenzon. 2021. 77p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2021.https://repositorio.unipampa.edu.br/jspui/handle/riu/7312Diversas estratégias de otimização online e offline têm sido empregadas para melhorar o desempenho e consumo de energia de aplicações paralelas. Enquanto o primeiro conjunto de estratégias podem obter valores de métricas que só podem ser conhecidas em tempo de execução, o segundo (Offline) não impõe nenhuma sobrecarga durante a execução e pode utilizar algoritmos mais eficientes. No entanto, os algoritmos de aprendizagem das estratégias offline podem levar várias horas para encontrar uma solução, impedindo seu uso ou a portabilidade entre diferentes sistemas. Neste cenário, esta dissertação propõe uma metodologia para diminuir o tempo de aprendizado de estratégias offline, inferindo o comportamento da execução de aplicações paralelas utilizando conjuntos de entrada menores do que os utilizados pelas aplicações alvo. Duas estratégias de otimização são implementadas: SEA, onde todas as regiões paralelas de uma aplicação são executadas com o mesmo número de threads; e SPRA, que busca encontrar um número ideal de threads para cada região paralela de uma determinada aplicação. Com um extenso conjunto de experimentos, mostramos que as estratégias SEA e SPRA convergem para resultados próximos de uma abordagem offline aplicada sobre a entrada regular, mas sendo 88% e 87% mais rápidas, em média, respectivamente. Também mostrou-se que SPRA é melhor que SEA para aplicações desbalanceadas. Palavras-chave: Computação Paralela. Otimização de Sistemas em Tempo de Execução. Paralelismo em Nível de Threads. Energy-delay Product.Several online and offline optimization strategies have been employed to improve the performance and energy consumption of parallel applications. While the first strategy can achieve some behaviors that can only be known at run time, the last one does not impose any overhead during execution and can use more complex and efficient algorithms. However, the offline strategy learning algorithm can take several hours, preventing its use or smooth portability between different systems. In this scenario, this dissertation proposes a methodology to decrease the learning time of offline strategies, inferring the execution behavior of parallel applications using smaller input sets than those used by the target applications. Two optimization strategies are implemented: SEA, where all the parallel regions of an application are executed with the same number of threads; and SPRA, which seeks to find an ideal number of threads for each parallel region of a given application. With an extensive set of experiments, we show that the SEA and SPRA strategies converge to results close to an offline approach applied to regular entry, but being 88% and 87% faster, on average, respectively. We have also shown that SPRA is better than SEA for unbalanced applications. Key-words: Parallel Computing. Runtime Optimization Systems. Thread-level Parallelism Exploitation. Energy-delay Product.porUniversidade Federal do PampaMestrado Profissional em Engenharia de SoftwareUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRAEngenharia de softwareProgramação paralela (Computação)Software engineeringParallel programming (Computer science)Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelasinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALGustavo_Paim_Berned-2021.pdfGustavo_Paim_Berned-2021.pdfapplication/pdf2095103https://repositorio.unipampa.edu.br/bitstreams/e8c17013-9415-4b3f-8871-7fb34cd1bb60/download0e280c554b14ef6558e1be6fa705d233MD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-81854https://repositorio.unipampa.edu.br/bitstreams/eb347d0a-8f86-490b-8f29-b6595059340b/downloadc9ad5aff503ef7873c4004c5b07c0b27MD52falseAnonymousREADriu/73122022-06-01 18:19:14.551open.accessoai:repositorio.unipampa.edu.br:riu/7312https://repositorio.unipampa.edu.brRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2022-06-01T18:19:14Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)falseTElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvCkluc3RpdHVjaW9uYWwgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsICB0cmFkdXppciAoY29uZm9ybWUgZGVmaW5pZG8gYWJhaXhvKSwgZS9vdSBkaXN0cmlidWlyIGEKc3VhIHB1YmxpY2HDp8OjbyAoaW5jbHVpbmRvIG8gcmVzdW1vKSBwb3IgdG9kbyBvIG11bmRvIG5vIGZvcm1hdG8gaW1wcmVzc28gZSBlbGV0csO0bmljbyBlIGVtIHF1YWxxdWVyIG1laW8sIGluY2x1aW5kbyBvcwpmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIGEgVU5JUEFNUEEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0bwpwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlICBhIFVOSVBBTVBBIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwCmUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHB1YmxpY2HDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4KVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0byBkYSBzdWEgcHVibGljYcOnw6NvIG7Do28sIHF1ZSBzZWphIGRlIHNldSBjb25oZWNpbWVudG8sIGluZnJpbmdlIGRpcmVpdG9zIGF1dG9yYWlzCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUKb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIMOgIFVOSVBBTVBBIG9zIGRpcmVpdG9zIGFwcmVzZW50YWRvcwpuZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBkZSBwcm9wcmllZGFkZSBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0bwpvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTwpPUkdBTklTTU8sIFZPQ8OKIERFQ0xBUkEgUVVFIFJFU1BFSVRPVSBUT0RPUyBFIFFVQUlTUVVFUiBESVJFSVRPUyBERSBSRVZJU8ODTyBDT01PIFRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUwpFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKQSBVTklQQU1QQSBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lIChzKSBvdSBvKHMpIG5vbWUocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcwphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4K |
| dc.title.pt_BR.fl_str_mv |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| title |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| spellingShingle |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas Berned, Gustavo Paim CNPQ::CIENCIAS EXATAS E DA TERRA Engenharia de software Programação paralela (Computação) Software engineering Parallel programming (Computer science) |
| title_short |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| title_full |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| title_fullStr |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| title_full_unstemmed |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| title_sort |
Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas |
| author |
Berned, Gustavo Paim |
| author_facet |
Berned, Gustavo Paim |
| author_role |
author |
| dc.contributor.advisor1.fl_str_mv |
Lorenzon, Arthur Francisco |
| dc.contributor.author.fl_str_mv |
Berned, Gustavo Paim |
| contributor_str_mv |
Lorenzon, Arthur Francisco |
| dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA |
| topic |
CNPQ::CIENCIAS EXATAS E DA TERRA Engenharia de software Programação paralela (Computação) Software engineering Parallel programming (Computer science) |
| dc.subject.por.fl_str_mv |
Engenharia de software Programação paralela (Computação) Software engineering Parallel programming (Computer science) |
| description |
Diversas estratégias de otimização online e offline têm sido empregadas para melhorar o desempenho e consumo de energia de aplicações paralelas. Enquanto o primeiro conjunto de estratégias podem obter valores de métricas que só podem ser conhecidas em tempo de execução, o segundo (Offline) não impõe nenhuma sobrecarga durante a execução e pode utilizar algoritmos mais eficientes. No entanto, os algoritmos de aprendizagem das estratégias offline podem levar várias horas para encontrar uma solução, impedindo seu uso ou a portabilidade entre diferentes sistemas. Neste cenário, esta dissertação propõe uma metodologia para diminuir o tempo de aprendizado de estratégias offline, inferindo o comportamento da execução de aplicações paralelas utilizando conjuntos de entrada menores do que os utilizados pelas aplicações alvo. Duas estratégias de otimização são implementadas: SEA, onde todas as regiões paralelas de uma aplicação são executadas com o mesmo número de threads; e SPRA, que busca encontrar um número ideal de threads para cada região paralela de uma determinada aplicação. Com um extenso conjunto de experimentos, mostramos que as estratégias SEA e SPRA convergem para resultados próximos de uma abordagem offline aplicada sobre a entrada regular, mas sendo 88% e 87% mais rápidas, em média, respectivamente. Também mostrou-se que SPRA é melhor que SEA para aplicações desbalanceadas. Palavras-chave: Computação Paralela. Otimização de Sistemas em Tempo de Execução. Paralelismo em Nível de Threads. Energy-delay Product. |
| publishDate |
2021 |
| dc.date.issued.fl_str_mv |
2021-05-20 |
| dc.date.accessioned.fl_str_mv |
2022-06-01T18:19:14Z |
| dc.date.available.fl_str_mv |
2022-05-30 2022-06-01T18:19:14Z |
| 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.citation.fl_str_mv |
BERNED, Gustavo Paim. Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas. Orientador: Arthur Francisco Lorenzon. 2021. 77p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2021. |
| dc.identifier.uri.fl_str_mv |
https://repositorio.unipampa.edu.br/jspui/handle/riu/7312 |
| identifier_str_mv |
BERNED, Gustavo Paim. Hórus: reduzindo o custo de aprendizado das estratégias de otimização offline para aplicações paralelas. Orientador: Arthur Francisco Lorenzon. 2021. 77p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2021. |
| url |
https://repositorio.unipampa.edu.br/jspui/handle/riu/7312 |
| 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.publisher.none.fl_str_mv |
Universidade Federal do Pampa |
| dc.publisher.program.fl_str_mv |
Mestrado Profissional em Engenharia de Software |
| dc.publisher.initials.fl_str_mv |
UNIPAMPA |
| dc.publisher.country.fl_str_mv |
Brasil |
| dc.publisher.department.fl_str_mv |
Campus Alegrete |
| publisher.none.fl_str_mv |
Universidade Federal do Pampa |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNIPAMPA instname:Universidade Federal do Pampa (UNIPAMPA) instacron:UNIPAMPA |
| instname_str |
Universidade Federal do Pampa (UNIPAMPA) |
| instacron_str |
UNIPAMPA |
| institution |
UNIPAMPA |
| reponame_str |
Repositório Institucional da UNIPAMPA |
| collection |
Repositório Institucional da UNIPAMPA |
| bitstream.url.fl_str_mv |
https://repositorio.unipampa.edu.br/bitstreams/e8c17013-9415-4b3f-8871-7fb34cd1bb60/download https://repositorio.unipampa.edu.br/bitstreams/eb347d0a-8f86-490b-8f29-b6595059340b/download |
| bitstream.checksum.fl_str_mv |
0e280c554b14ef6558e1be6fa705d233 c9ad5aff503ef7873c4004c5b07c0b27 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA) |
| repository.mail.fl_str_mv |
sisbi@unipampa.edu.br |
| _version_ |
1854750384759767040 |