Uma interface para escalonamento de algoritmos iterativos em C++

Detalhes bibliográficos
Autor(a) principal: Schmalfuss, Murilo Figueiredo
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPel - Guaiaca
Texto Completo: http://guaiaca.ufpel.edu.br/handle/prefix/6654
Resumo: Atualmente, as arquiteturas paralelas estão presente em praticamente todos os tipos de dispositivos, justificando uma busca por ferramentas e técnicas que facilitem o desenvolvimento de aplicações paralelas sem prejudicar o desempenho. As ferramentas atuais para programação paralela entendem essa necessidade e focam seus esforços em estratégias de escalonamento que tirem vantagem dos padrões paralelos comumente presentes no desenvolvimento de aplicações paralelas. Os algoritmos iterativos compõem uma grande parcela dos problemas computacionais, soluções que otimizem a execução desses algoritmos estão relacionadas à forma como as tarefas são divididas e escalonadas. Porém estas ferramentas não oferecem a flexibilidade para alterar a política de escalonamento, forçando o desenvolvedor a projetar a solução do problema de acordo com a ferramenta escolhida e sua forma de escalonamento, exigindo do desenvolvedor o conhecimento de detalhes sobre a implementação da ferramenta para extrair o máximo de desempenho. Essa abordagem oferece pouco reuso de código, e a portabilidade fica dependente das plataformas suportadas pela ferramenta. Este trabalho propõe uma interface paralela orientada a objetos que permita a troca das políticas de escalonamento, permitindo a adequação da estratégia de escalonamento em função da necessidade do algoritmo. O padrão paralelo map foi utilizado como estudo de caso para validação e aferição do desempenho, comparando os resultados com outras ferramentas disponíveis para C++, como TBB e OpenMP.
id UFPL_a0b5be9e0494a34b6b0f1a54ad61aefa
oai_identifier_str oai:guaiaca.ufpel.edu.br:prefix/6654
network_acronym_str UFPL
network_name_str Repositório Institucional da UFPel - Guaiaca
repository_id_str
spelling 2020-11-26T13:52:16Z2020-11-26T13:52:16Z2020-04-23SCHMALFUSS, Murilo Figueiredo. Uma Interface para Escalonamento de Algoritmos Iterativos em C++. Orientador: Gerson Geraldo H. Cavalheiro. 2020. 84 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2020.http://guaiaca.ufpel.edu.br/handle/prefix/6654Atualmente, as arquiteturas paralelas estão presente em praticamente todos os tipos de dispositivos, justificando uma busca por ferramentas e técnicas que facilitem o desenvolvimento de aplicações paralelas sem prejudicar o desempenho. As ferramentas atuais para programação paralela entendem essa necessidade e focam seus esforços em estratégias de escalonamento que tirem vantagem dos padrões paralelos comumente presentes no desenvolvimento de aplicações paralelas. Os algoritmos iterativos compõem uma grande parcela dos problemas computacionais, soluções que otimizem a execução desses algoritmos estão relacionadas à forma como as tarefas são divididas e escalonadas. Porém estas ferramentas não oferecem a flexibilidade para alterar a política de escalonamento, forçando o desenvolvedor a projetar a solução do problema de acordo com a ferramenta escolhida e sua forma de escalonamento, exigindo do desenvolvedor o conhecimento de detalhes sobre a implementação da ferramenta para extrair o máximo de desempenho. Essa abordagem oferece pouco reuso de código, e a portabilidade fica dependente das plataformas suportadas pela ferramenta. Este trabalho propõe uma interface paralela orientada a objetos que permita a troca das políticas de escalonamento, permitindo a adequação da estratégia de escalonamento em função da necessidade do algoritmo. O padrão paralelo map foi utilizado como estudo de caso para validação e aferição do desempenho, comparando os resultados com outras ferramentas disponíveis para C++, como TBB e OpenMP.Currently, parallel architectures are present in almost all kind of devices, justifying a search for tools and techniques that facilitate the development of parallel applications without jeopardizing performance. The current tools for parallel programming understand this need and focus their efforts on scheduling mechanisms that take advantage of common parallel patterns, present in the development of parallel applications. Iterative algorithms make up a large portion of computational problems, solutions that optimize the execution of these algorithms are related to the way the tasks are divided and scheduled. However, these tools do not offer the flexibility to change the scheduling policy, forcing the developer to solve problems according to the chosen tools and their way of scheduling, requiring the developer a knowledge of details about the implementation of tools to extract maximum performance. This approach offers a parallel object-oriented interface that allows to switch scheduling policies, allowing the scheduling strategy to be adapted according to the use of the algorithm. The parallel pattern map was used for a case study of performance validation and performance, comparing the results with other tools available for C ++, such as TBB and OpenMP.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESporUniversidade Federal de PelotasPrograma de Pós-Graduação em ComputaçãoUFPelBrasilCentro de Desenvolvimento TecnológicoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOEscalonamentoAlgoritmos iterativosComputaçãoProcessamento paraleloProcessamento de alto desempenhoSchedulingIterative algorithmsParallel processingHigh performance computingUma interface para escalonamento de algoritmos iterativos em C++An interface for scheduling iterative algorithms in C++info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://lattes.cnpq.br/2410170342051507http://lattes.cnpq.br/1542351302502326Cavalheiro, Gerson Geraldo HomrichSchmalfuss, Murilo Figueiredoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPELTEXTDissertacao_Murilo_Figueiredo_Schmalfuss.pdf.txtDissertacao_Murilo_Figueiredo_Schmalfuss.pdf.txtExtracted texttext/plain157218http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/6/Dissertacao_Murilo_Figueiredo_Schmalfuss.pdf.txtc9d7137aead19671ac4a38d388f5cc22MD56open accessTHUMBNAILDissertacao_Murilo_Figueiredo_Schmalfuss.pdf.jpgDissertacao_Murilo_Figueiredo_Schmalfuss.pdf.jpgGenerated Thumbnailimage/jpeg1230http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/7/Dissertacao_Murilo_Figueiredo_Schmalfuss.pdf.jpgaf4acf147f39d4df567e8e2a7964ed57MD57open accessORIGINALDissertacao_Murilo_Figueiredo_Schmalfuss.pdfDissertacao_Murilo_Figueiredo_Schmalfuss.pdfapplication/pdf569687http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/1/Dissertacao_Murilo_Figueiredo_Schmalfuss.pdf159a022e6aa7cbdc856ae45f17321132MD51open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/2/license_url4afdbb8c545fd630ea7db775da747b2fMD52open accesslicense_textlicense_texttext/html; charset=utf-80http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81866http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/5/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD55open accessprefix/66542023-07-13 04:30:38.898open accessoai:guaiaca.ufpel.edu.br:prefix/6654TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2023-07-13T07:30:38Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false
dc.title.pt_BR.fl_str_mv Uma interface para escalonamento de algoritmos iterativos em C++
dc.title.alternative.pt_BR.fl_str_mv An interface for scheduling iterative algorithms in C++
title Uma interface para escalonamento de algoritmos iterativos em C++
spellingShingle Uma interface para escalonamento de algoritmos iterativos em C++
Schmalfuss, Murilo Figueiredo
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
Escalonamento
Algoritmos iterativos
Computação
Processamento paralelo
Processamento de alto desempenho
Scheduling
Iterative algorithms
Parallel processing
High performance computing
title_short Uma interface para escalonamento de algoritmos iterativos em C++
title_full Uma interface para escalonamento de algoritmos iterativos em C++
title_fullStr Uma interface para escalonamento de algoritmos iterativos em C++
title_full_unstemmed Uma interface para escalonamento de algoritmos iterativos em C++
title_sort Uma interface para escalonamento de algoritmos iterativos em C++
author Schmalfuss, Murilo Figueiredo
author_facet Schmalfuss, Murilo Figueiredo
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/2410170342051507
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/1542351302502326
dc.contributor.advisor1.fl_str_mv Cavalheiro, Gerson Geraldo Homrich
dc.contributor.author.fl_str_mv Schmalfuss, Murilo Figueiredo
contributor_str_mv Cavalheiro, Gerson Geraldo Homrich
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
Escalonamento
Algoritmos iterativos
Computação
Processamento paralelo
Processamento de alto desempenho
Scheduling
Iterative algorithms
Parallel processing
High performance computing
dc.subject.por.fl_str_mv Escalonamento
Algoritmos iterativos
Computação
Processamento paralelo
Processamento de alto desempenho
Scheduling
Iterative algorithms
Parallel processing
High performance computing
description Atualmente, as arquiteturas paralelas estão presente em praticamente todos os tipos de dispositivos, justificando uma busca por ferramentas e técnicas que facilitem o desenvolvimento de aplicações paralelas sem prejudicar o desempenho. As ferramentas atuais para programação paralela entendem essa necessidade e focam seus esforços em estratégias de escalonamento que tirem vantagem dos padrões paralelos comumente presentes no desenvolvimento de aplicações paralelas. Os algoritmos iterativos compõem uma grande parcela dos problemas computacionais, soluções que otimizem a execução desses algoritmos estão relacionadas à forma como as tarefas são divididas e escalonadas. Porém estas ferramentas não oferecem a flexibilidade para alterar a política de escalonamento, forçando o desenvolvedor a projetar a solução do problema de acordo com a ferramenta escolhida e sua forma de escalonamento, exigindo do desenvolvedor o conhecimento de detalhes sobre a implementação da ferramenta para extrair o máximo de desempenho. Essa abordagem oferece pouco reuso de código, e a portabilidade fica dependente das plataformas suportadas pela ferramenta. Este trabalho propõe uma interface paralela orientada a objetos que permita a troca das políticas de escalonamento, permitindo a adequação da estratégia de escalonamento em função da necessidade do algoritmo. O padrão paralelo map foi utilizado como estudo de caso para validação e aferição do desempenho, comparando os resultados com outras ferramentas disponíveis para C++, como TBB e OpenMP.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-11-26T13:52:16Z
dc.date.available.fl_str_mv 2020-11-26T13:52:16Z
dc.date.issued.fl_str_mv 2020-04-23
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 SCHMALFUSS, Murilo Figueiredo. Uma Interface para Escalonamento de Algoritmos Iterativos em C++. Orientador: Gerson Geraldo H. Cavalheiro. 2020. 84 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2020.
dc.identifier.uri.fl_str_mv http://guaiaca.ufpel.edu.br/handle/prefix/6654
identifier_str_mv SCHMALFUSS, Murilo Figueiredo. Uma Interface para Escalonamento de Algoritmos Iterativos em C++. Orientador: Gerson Geraldo H. Cavalheiro. 2020. 84 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2020.
url http://guaiaca.ufpel.edu.br/handle/prefix/6654
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 de Pelotas
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Computação
dc.publisher.initials.fl_str_mv UFPel
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Desenvolvimento Tecnológico
publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPel - Guaiaca
instname:Universidade Federal de Pelotas (UFPEL)
instacron:UFPEL
instname_str Universidade Federal de Pelotas (UFPEL)
instacron_str UFPEL
institution UFPEL
reponame_str Repositório Institucional da UFPel - Guaiaca
collection Repositório Institucional da UFPel - Guaiaca
bitstream.url.fl_str_mv http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/6/Dissertacao_Murilo_Figueiredo_Schmalfuss.pdf.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/7/Dissertacao_Murilo_Figueiredo_Schmalfuss.pdf.jpg
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/1/Dissertacao_Murilo_Figueiredo_Schmalfuss.pdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/2/license_url
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/3/license_text
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/4/license_rdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/6654/5/license.txt
bitstream.checksum.fl_str_mv c9d7137aead19671ac4a38d388f5cc22
af4acf147f39d4df567e8e2a7964ed57
159a022e6aa7cbdc856ae45f17321132
4afdbb8c545fd630ea7db775da747b2f
d41d8cd98f00b204e9800998ecf8427e
d41d8cd98f00b204e9800998ecf8427e
43cd690d6a359e86c1fe3d5b7cba0c9b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)
repository.mail.fl_str_mv rippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.br
_version_ 1813710126401454080