Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/82454

Registo completo
Campo DCValorIdioma
dc.contributor.advisorSobral, João Luís Ferreirapor
dc.contributor.authorLeitão, Vasco Luziopor
dc.date.accessioned2023-02-03T12:38:38Z-
dc.date.available2023-02-03T12:38:38Z-
dc.date.issued2021-12-22-
dc.date.submitted2021-07-
dc.identifier.urihttps://hdl.handle.net/1822/82454-
dc.descriptionDissertação de mestrado integrado em Engenharia Informáticapor
dc.description.abstractParallel programming is becoming increasingly common, given the evolution of hardware into multicore and manycore architectures. To take advantage of these architectures it is necessary to develop parallel code, since the automatic generation of parallel code from a sequential base code is not a viable option. Parallel programming tends to be complex and therefore the developed code tends to be difficult to maintain or even difficult to reuse. This dissertation aims to explore the use of algorithmic skeletons in the development of parallel applications in order to allow faster development as well as the production of higher quality final software. A skeleton framework was developed. The skeletons were developed through a technique called ”mixin layers”, which makes use of generic classes of C++. A great emphasis wass given to the use of generic classes and other alternatives in the construction of the skeletons. Finally, the performance of these solutions were evaluated in comparison with solutions already consolidated within parallel computing. For that, the codes of a set of applications were restructured in order to make use of the skeletons provided by the librarypor
dc.description.abstractA programação paralela está a tornar-se cada vez mais comum, dada a evolução do hardware para arquiteturas multicore e manycore. Para tirar partido destas arquitecturas é necessário desenvolver código paralelo, uma vez que a geração automática de código paralelo a partir de um código base sequencial não é uma opção viável. A programação paralela tende a ser complexa e por isso o código desenvolvido tende a ser de difícil manutenção ou até mesmo de difícil reutilização. Esta dissertação pretende explorar utilização de esqueletos algorítmicos no desenvolvimento de aplicações paralelas de forma a permitir um desenvolvimento mais célere assim como a produção de um software final de maior qualidade. Foi desenvolvida uma biblioteca de esqueletos. Os esqueletos foram desenvolvidos através de uma técnica denominada “mixin layers”, que faz uso de classes genéricas de C++. Foi dada uma grande ênfase à utilização destas classes genéricas e outras alternativas na construção dos esqueletos. Por fim foi avaliada a performance desta solução em comparação com soluções já consolidadas dentro da computação paralela. Para isso foram reestruturados os códigos de um conjunto de aplicações de modo a fazerem uso dos esqueletos disponibilizados pela biblioteca.por
dc.language.isoporpor
dc.rightsopenAccesspor
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/por
dc.subjectSoftware architecturepor
dc.subjectHPCpor
dc.subjectAlgoritmic skeletonspor
dc.subjectArquitectura de softwarepor
dc.subjectHPCpor
dc.subjectEsqueletos algorítmicospor
dc.titlePadrões arquitecturais e de desenho para aplicações paralelaspor
dc.typemasterThesiseng
dc.identifier.tid203127200por
thesis.degree.grantorUniversidade do Minhopor
sdum.degree.grade17 valorespor
sdum.uoeiEscola de Engenhariapor
dc.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Vasco Luzio Leitao.pdf1,24 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID