Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core
Autor(a) principal: | |
---|---|
Data de Publicação: | 2012 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da PUC_RS |
Texto Completo: | http://tede2.pucrs.br/tede2/handle/tede/5182 |
Resumo: | This work proposes a Domain-Specific Language for Parallel Patterns Oriented Parallel Programming (LED-PPOPP). Its main purpose is to provide a way to decrease the amount of effort necessary to develop parallel programs, offering a way to guide developers through patterns which are implemented by the language interface. The idea is to exploit this approach avoiding large performance losses in the applications. Patterns are specialized solutions, previously studied, and used to solve a frequent problem. Thus, parallel patterns offer a higher abstraction level to organize the algorithms in the exploitation of parallelism. They also can be easily learned by inexperienced programmers and software engineers. This work carried out a case study based on the Master/Slave pattern, focusing on the parallelization of algorithms for multi-core architectures. The implementation was validated through experiments to evaluate the programming effort to write code in LED-PPOPP and the performance achieved by the parallel code automatically generated. The obtained results let us conclude that a significant reduction in the parallel programming effort occurred in comparison to the Pthreads library utilization. Additionally, the final performance of the parallelized algorithms confirms that the parallelization with LED-PPOPP does not bring on significant losses related to parallelization using OpenMP in most of the all experiments carried out. |
id |
P_RS_200482bd66bcf8bef30ed1594f474a42 |
---|---|
oai_identifier_str |
oai:tede2.pucrs.br:tede/5182 |
network_acronym_str |
P_RS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da PUC_RS |
repository_id_str |
|
spelling |
Fernandes, Luiz Gustavo LeãoCPF:57150010059http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784653A5CPF:02218822008http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4425308Y3Griebler, Dalvan Jair2015-04-14T14:49:50Z2012-07-022012-03-19GRIEBLER, Dalvan Jair. Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core. 2012. 168 f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2012.http://tede2.pucrs.br/tede2/handle/tede/5182This work proposes a Domain-Specific Language for Parallel Patterns Oriented Parallel Programming (LED-PPOPP). Its main purpose is to provide a way to decrease the amount of effort necessary to develop parallel programs, offering a way to guide developers through patterns which are implemented by the language interface. The idea is to exploit this approach avoiding large performance losses in the applications. Patterns are specialized solutions, previously studied, and used to solve a frequent problem. Thus, parallel patterns offer a higher abstraction level to organize the algorithms in the exploitation of parallelism. They also can be easily learned by inexperienced programmers and software engineers. This work carried out a case study based on the Master/Slave pattern, focusing on the parallelization of algorithms for multi-core architectures. The implementation was validated through experiments to evaluate the programming effort to write code in LED-PPOPP and the performance achieved by the parallel code automatically generated. The obtained results let us conclude that a significant reduction in the parallel programming effort occurred in comparison to the Pthreads library utilization. Additionally, the final performance of the parallelized algorithms confirms that the parallelization with LED-PPOPP does not bring on significant losses related to parallelization using OpenMP in most of the all experiments carried out.Este trabalho propôs uma Linguagem Específica de Domínio de Programação Paralela Orientada a Padrões Paralelos (LED-PPOPP). O principal objetivo é reduzir o esforço e induzir o programador a desenvolver algoritmos paralelos guiando-se através de padrões que são implementados pela interface da linguagem, evitando que ocorram grandes perdas de desempenho nas aplicações. Anteriormente estudados, os padrões são soluções especializadas e utilizadas para resolver um problema frequente. Assim, padrões paralelos são descritos em um alto nível de abstração para organizar os algoritmos na exploração do paralelismo, podendo ser facilmente interpretados por programadores inexperientes e engenheiros de software. Como ponto de partida, este trabalho realizou um estudo de caso baseandose no padrão Mestre/Escravo, focando na paralelização de algoritmos para arquiteturas multi-core. Através de experimentos para medição de esforço e desempenho, a implementação de estudo de caso foi avaliada obtendo bons resultados. Os resultados obtidos mostram que houve uma redução no esforço de programação paralela em relação a utilização da biblioteca Pthreads. Já com relação ao desempenho final das aplicações paralelizadas, foi possível comprovar que a paralelização com LED-PPOPP não acarreta perdas significativas com relação a paralelizações com OpenMP na quase totalidade das aplicações testadas.Made available in DSpace on 2015-04-14T14:49:50Z (GMT). No. of bitstreams: 1 439447.pdf: 12654350 bytes, checksum: 6b1e68a168b4468adf4d1eba9517ad21 (MD5) Previous issue date: 2012-03-19application/pdfhttp://tede2.pucrs.br:80/tede2/retrieve/16022/439447.pdf.jpgporPontifícia Universidade Católica do Rio Grande do SulPrograma de Pós-Graduação em Ciência da ComputaçãoPUCRSBRFaculdade de InformácaINFORMÁTICAPROGRAMAÇÃO PARALELAARQUITETURA DE COMPUTADORARQUITETURA PARALELALINGUAGENS DE PROGRAMAÇÃOCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOProposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-coreinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis19749965330812744705006001946639708616176246info:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RSTHUMBNAIL439447.pdf.jpg439447.pdf.jpgimage/jpeg4202http://tede2.pucrs.br/tede2/bitstream/tede/5182/3/439447.pdf.jpg3c791cf078910f7333602ba14e47e8ddMD53TEXT439447.pdf.txt439447.pdf.txttext/plain223591http://tede2.pucrs.br/tede2/bitstream/tede/5182/2/439447.pdf.txt2cc757c4170cdda4e5d4948b50efaaeaMD52ORIGINAL439447.pdfapplication/pdf12654350http://tede2.pucrs.br/tede2/bitstream/tede/5182/1/439447.pdf6b1e68a168b4468adf4d1eba9517ad21MD51tede/51822015-04-17 11:57:32.533oai:tede2.pucrs.br:tede/5182Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2015-04-17T14:57:32Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false |
dc.title.por.fl_str_mv |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
title |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
spellingShingle |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core Griebler, Dalvan Jair INFORMÁTICA PROGRAMAÇÃO PARALELA ARQUITETURA DE COMPUTADOR ARQUITETURA PARALELA LINGUAGENS DE PROGRAMAÇÃO CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
title_short |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
title_full |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
title_fullStr |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
title_full_unstemmed |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
title_sort |
Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core |
author |
Griebler, Dalvan Jair |
author_facet |
Griebler, Dalvan Jair |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Fernandes, Luiz Gustavo Leão |
dc.contributor.advisor1ID.fl_str_mv |
CPF:57150010059 |
dc.contributor.advisor1Lattes.fl_str_mv |
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784653A5 |
dc.contributor.authorID.fl_str_mv |
CPF:02218822008 |
dc.contributor.authorLattes.fl_str_mv |
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4425308Y3 |
dc.contributor.author.fl_str_mv |
Griebler, Dalvan Jair |
contributor_str_mv |
Fernandes, Luiz Gustavo Leão |
dc.subject.por.fl_str_mv |
INFORMÁTICA PROGRAMAÇÃO PARALELA ARQUITETURA DE COMPUTADOR ARQUITETURA PARALELA LINGUAGENS DE PROGRAMAÇÃO |
topic |
INFORMÁTICA PROGRAMAÇÃO PARALELA ARQUITETURA DE COMPUTADOR ARQUITETURA PARALELA LINGUAGENS DE PROGRAMAÇÃO CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
description |
This work proposes a Domain-Specific Language for Parallel Patterns Oriented Parallel Programming (LED-PPOPP). Its main purpose is to provide a way to decrease the amount of effort necessary to develop parallel programs, offering a way to guide developers through patterns which are implemented by the language interface. The idea is to exploit this approach avoiding large performance losses in the applications. Patterns are specialized solutions, previously studied, and used to solve a frequent problem. Thus, parallel patterns offer a higher abstraction level to organize the algorithms in the exploitation of parallelism. They also can be easily learned by inexperienced programmers and software engineers. This work carried out a case study based on the Master/Slave pattern, focusing on the parallelization of algorithms for multi-core architectures. The implementation was validated through experiments to evaluate the programming effort to write code in LED-PPOPP and the performance achieved by the parallel code automatically generated. The obtained results let us conclude that a significant reduction in the parallel programming effort occurred in comparison to the Pthreads library utilization. Additionally, the final performance of the parallelized algorithms confirms that the parallelization with LED-PPOPP does not bring on significant losses related to parallelization using OpenMP in most of the all experiments carried out. |
publishDate |
2012 |
dc.date.available.fl_str_mv |
2012-07-02 |
dc.date.issued.fl_str_mv |
2012-03-19 |
dc.date.accessioned.fl_str_mv |
2015-04-14T14:49:50Z |
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 |
GRIEBLER, Dalvan Jair. Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core. 2012. 168 f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2012. |
dc.identifier.uri.fl_str_mv |
http://tede2.pucrs.br/tede2/handle/tede/5182 |
identifier_str_mv |
GRIEBLER, Dalvan Jair. Proposta de uma linguagem específica de domínio de programação paralela orientada a padrões paralelos: um estudo de caso baseado no padrão mestre/escravo para arquiteturas multi-core. 2012. 168 f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, 2012. |
url |
http://tede2.pucrs.br/tede2/handle/tede/5182 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.program.fl_str_mv |
1974996533081274470 |
dc.relation.confidence.fl_str_mv |
500 600 |
dc.relation.department.fl_str_mv |
1946639708616176246 |
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.publisher.none.fl_str_mv |
Pontifícia Universidade Católica do Rio Grande do Sul |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação |
dc.publisher.initials.fl_str_mv |
PUCRS |
dc.publisher.country.fl_str_mv |
BR |
dc.publisher.department.fl_str_mv |
Faculdade de Informáca |
publisher.none.fl_str_mv |
Pontifícia Universidade Católica do Rio Grande do Sul |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) instacron:PUC_RS |
instname_str |
Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) |
instacron_str |
PUC_RS |
institution |
PUC_RS |
reponame_str |
Biblioteca Digital de Teses e Dissertações da PUC_RS |
collection |
Biblioteca Digital de Teses e Dissertações da PUC_RS |
bitstream.url.fl_str_mv |
http://tede2.pucrs.br/tede2/bitstream/tede/5182/3/439447.pdf.jpg http://tede2.pucrs.br/tede2/bitstream/tede/5182/2/439447.pdf.txt http://tede2.pucrs.br/tede2/bitstream/tede/5182/1/439447.pdf |
bitstream.checksum.fl_str_mv |
3c791cf078910f7333602ba14e47e8dd 2cc757c4170cdda4e5d4948b50efaaea 6b1e68a168b4468adf4d1eba9517ad21 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) |
repository.mail.fl_str_mv |
biblioteca.central@pucrs.br|| |
_version_ |
1799765306061619200 |