Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina

Detalhes bibliográficos
Autor(a) principal: Berned, Gustavo Paim
Data de Publicação: 2019
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UNIPAMPA
Texto Completo: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4169
Resumo: Encontrar o número de threads que atende uma aplicação de maneira satisfatória não é uma tarefa trivial devido às diferentes variáveis envolvidas, tais como conjunto de entrada, organização hierarquica de memória e microarquitetura do processador. Entretanto, se uma aplicação tem comportamento similar quando diferentes conjuntos de entrada são utilizados, podemos usar um tamanho de entrada pequeno para predizer seu comportamento quando executar com um conjunto de entrada grande. Neste sentido, o objetivo deste trabalho consiste em utilizar os dados coletados pela execução de uma aplicação paralela com um conjunto de entrada pequeno para estimar o seu comportamento quando executada com um conjunto grande. A partir desta estimativa, pretende-se encontrar o grau de exploração de paralelismo no nível de threads que fornece o melhor desempenho, consumo de energia e/ou Energy-Delay Product (EDP) para a execução com a entrada grande. Através da execução de dezessete benchmarks conhecidos e amplamente utilizados pela comunidade acadêmica em um processador AMD com 16 núcleos, este trabalho mostra que é possível usar o comportamento da execução com conjunto de entrada pequeno para otimizar a execução com um conjunto grande. Considerando a média de todas as aplicações, os resultados mostram uma redução de 9% do consumo de energia e 10% do EDP comparado a execução com o número de threads padrão do sistema. O trabalho mostram ainda que o método proposto possuí uma diferença média de apenas 2% no consumo de energia e 1% no EDP com relação a solução oracle, que executa a aplicação com o melhor número de threads, sem contar com o período de treinamento.
id UNIP_a615b387bf486e1c145eab960be0e2d5
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/4169
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Lorenzon, Arthur FranciscoBerned, Gustavo Paim2019-08-01T13:33:35Z2019-08-01T13:33:35Z2019-06-25BERNED, Gustavo Paim. Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina. Orientador: Arthur Francisco Lorenzon. 2019. 85 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4169Encontrar o número de threads que atende uma aplicação de maneira satisfatória não é uma tarefa trivial devido às diferentes variáveis envolvidas, tais como conjunto de entrada, organização hierarquica de memória e microarquitetura do processador. Entretanto, se uma aplicação tem comportamento similar quando diferentes conjuntos de entrada são utilizados, podemos usar um tamanho de entrada pequeno para predizer seu comportamento quando executar com um conjunto de entrada grande. Neste sentido, o objetivo deste trabalho consiste em utilizar os dados coletados pela execução de uma aplicação paralela com um conjunto de entrada pequeno para estimar o seu comportamento quando executada com um conjunto grande. A partir desta estimativa, pretende-se encontrar o grau de exploração de paralelismo no nível de threads que fornece o melhor desempenho, consumo de energia e/ou Energy-Delay Product (EDP) para a execução com a entrada grande. Através da execução de dezessete benchmarks conhecidos e amplamente utilizados pela comunidade acadêmica em um processador AMD com 16 núcleos, este trabalho mostra que é possível usar o comportamento da execução com conjunto de entrada pequeno para otimizar a execução com um conjunto grande. Considerando a média de todas as aplicações, os resultados mostram uma redução de 9% do consumo de energia e 10% do EDP comparado a execução com o número de threads padrão do sistema. O trabalho mostram ainda que o método proposto possuí uma diferença média de apenas 2% no consumo de energia e 1% no EDP com relação a solução oracle, que executa a aplicação com o melhor número de threads, sem contar com o período de treinamento.Finding the number of threads that delivers a satisfactory outcome to an application is not a trivial task because of there are many variables involved, such as the application input set, hierarchical memory organization, and the processor microarchitecture. However, if an application has similar behavior when it is executed with different input sets, one can use a small input size to predict its behavior when a larger input set is considered. In this sense, the objective of this work is to use the data collected through the execution of a parallel application with a small input set to estimate its behavior when executing with a larger input set. From this estimation, we intend to find the degree of parallelism exploitation at the thread level that provides the best performance, energy consumption and/or Energy- Delay Product (EDP) to execute the application with the large input set. Through the execution of seventeen benchmarks well-known and widely used by the academic community on an AMD processor with 16-core, this work shows that it is possible to use the behavior of the execution with a small input set to optimize execution with a large input set. Considering the geometric mean of all applications, the results show a reduction of 9% in energy consumption and 10% in the EDP when compared to execution with the number of standard threads of the system. The work also shows that the proposed optimization method has an average difference of only 2% in energy consumption and 1% in EDP with respect to an oracle solution, which executes the application with the best number of threads.porUniversidade Federal do PampaUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRACiência da computaçãoProgramação paralela (Computação)Aprendizado de máquinasOtimizaçãoComputer scienceParallel Programming (Computing)Machine learningOptimizationUm estudo sobre a otimização de aplicações paralelas através de aprendizado de máquinainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALGustavo Paim Berned - 2019.pdfGustavo Paim Berned - 2019.pdfapplication/pdf5324051https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4169/1/Gustavo%20Paim%20Berned%20-%202019.pdf1370a8a4766d28f79f0985bfc01daefeMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81866https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4169/2/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD52TEXTGustavo Paim Berned - 2019.pdf.txtGustavo Paim Berned - 2019.pdf.txtExtracted texttext/plain110880https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4169/3/Gustavo%20Paim%20Berned%20-%202019.pdf.txt50445d5f5e9d4c67e3a52d94cd4f9800MD53riu/41692019-08-02 03:01:00.727oai:repositorio.unipampa.edu.br:riu/4169TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2019-08-02T06:01Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)false
dc.title.pt_BR.fl_str_mv Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
title Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
spellingShingle Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
Berned, Gustavo Paim
CNPQ::CIENCIAS EXATAS E DA TERRA
Ciência da computação
Programação paralela (Computação)
Aprendizado de máquinas
Otimização
Computer science
Parallel Programming (Computing)
Machine learning
Optimization
title_short Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
title_full Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
title_fullStr Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
title_full_unstemmed Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
title_sort Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina
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
Ciência da computação
Programação paralela (Computação)
Aprendizado de máquinas
Otimização
Computer science
Parallel Programming (Computing)
Machine learning
Optimization
dc.subject.por.fl_str_mv Ciência da computação
Programação paralela (Computação)
Aprendizado de máquinas
Otimização
Computer science
Parallel Programming (Computing)
Machine learning
Optimization
description Encontrar o número de threads que atende uma aplicação de maneira satisfatória não é uma tarefa trivial devido às diferentes variáveis envolvidas, tais como conjunto de entrada, organização hierarquica de memória e microarquitetura do processador. Entretanto, se uma aplicação tem comportamento similar quando diferentes conjuntos de entrada são utilizados, podemos usar um tamanho de entrada pequeno para predizer seu comportamento quando executar com um conjunto de entrada grande. Neste sentido, o objetivo deste trabalho consiste em utilizar os dados coletados pela execução de uma aplicação paralela com um conjunto de entrada pequeno para estimar o seu comportamento quando executada com um conjunto grande. A partir desta estimativa, pretende-se encontrar o grau de exploração de paralelismo no nível de threads que fornece o melhor desempenho, consumo de energia e/ou Energy-Delay Product (EDP) para a execução com a entrada grande. Através da execução de dezessete benchmarks conhecidos e amplamente utilizados pela comunidade acadêmica em um processador AMD com 16 núcleos, este trabalho mostra que é possível usar o comportamento da execução com conjunto de entrada pequeno para otimizar a execução com um conjunto grande. Considerando a média de todas as aplicações, os resultados mostram uma redução de 9% do consumo de energia e 10% do EDP comparado a execução com o número de threads padrão do sistema. O trabalho mostram ainda que o método proposto possuí uma diferença média de apenas 2% no consumo de energia e 1% no EDP com relação a solução oracle, que executa a aplicação com o melhor número de threads, sem contar com o período de treinamento.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-08-01T13:33:35Z
dc.date.available.fl_str_mv 2019-08-01T13:33:35Z
dc.date.issued.fl_str_mv 2019-06-25
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv BERNED, Gustavo Paim. Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina. Orientador: Arthur Francisco Lorenzon. 2019. 85 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.
dc.identifier.uri.fl_str_mv http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4169
identifier_str_mv BERNED, Gustavo Paim. Um estudo sobre a otimização de aplicações paralelas através de aprendizado de máquina. Orientador: Arthur Francisco Lorenzon. 2019. 85 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.
url http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4169
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.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/jspui/bitstream/riu/4169/1/Gustavo%20Paim%20Berned%20-%202019.pdf
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4169/2/license.txt
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4169/3/Gustavo%20Paim%20Berned%20-%202019.pdf.txt
bitstream.checksum.fl_str_mv 1370a8a4766d28f79f0985bfc01daefe
43cd690d6a359e86c1fe3d5b7cba0c9b
50445d5f5e9d4c67e3a52d94cd4f9800
bitstream.checksumAlgorithm.fl_str_mv MD5
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_ 1801849044928036864