Made available in DSpace on 2013-08-07T18:42:14Z (GMT). No. of bitstreams: 1
000439447-Texto+Completo-0.pdf: 12654350 bytes, checksum: 6b1e68a168b4468adf4d1eba9517ad21 (MD5)
Previous issue date: 2012 / 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/urn:repox.ist.utl.pt:RI_PUC_RS:oai:meriva.pucrs.br:10923/1452 |
Date | January 2012 |
Creators | Griebler, Dalvan Jair |
Contributors | Fernandes, Luiz Gustavo Leão |
Publisher | Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da PUC_RS, instname:Pontifícia Universidade Católica do Rio Grande do Sul, instacron:PUC_RS |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0019 seconds