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-19 / 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. / 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.
Identifer | oai:union.ndltd.org:IBICT/oai:tede2.pucrs.br:tede/5182 |
Date | 19 March 2012 |
Creators | Griebler, Dalvan Jair |
Contributors | Fernandes, Luiz Gustavo Le?o |
Publisher | Pontif?cia Universidade Cat?lica do Rio Grande do Sul, Programa de P?s-Gradua??o em Ci?ncia da Computa??o, PUCRS, BR, Faculdade de Inform?ca |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS, instname:Pontifícia Universidade Católica do Rio Grande do Sul, instacron:PUC_RS |
Rights | info:eu-repo/semantics/openAccess |
Relation | 1974996533081274470, 500, 600, 1946639708616176246 |
Page generated in 0.0017 seconds