dc.creator | Kist, Deives Mesquita | |
dc.date.accessioned | 2022-07-14T22:14:31Z | |
dc.date.available | 2022-07-14T22:14:31Z | |
dc.date.issued | 2014 | |
dc.identifier.citation | KIST, Deives Mesquita. Kanga: uma interface genérica baseada em esqueletos para programação paralela em Anahy3. 2014. 87 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Computação, Universidade Federal de Pelotas, Pelotas, 2014. | pt_BR |
dc.identifier.uri | http://guaiaca.ufpel.edu.br/handle/prefix/8510 | |
dc.description.abstract | Programmers have great difficulties on parallel programming, mainly, because they must split the application in parts which can be executed simultaneously and mapping them on the processor cores that the application have a performace good. To perform this tasks are used parallel programming tools, this work is used the programming tool mutithread Anahy3 which have an interface based on standard POSIX Threads. Anahy offers resources to description and control of competition and also scheduling mechanisms. These mechanisms are automatically executed by execution environment so the programmer does not have responsibility of distribute the activities between the processor cores. The target this work is to extend the programming interface of Anahy3 using parallel programming resources of high level. To implement these new resources we found in literature the Skeletons. The Skeletons are a high-level parallel programming model that encapsulate standards algorithms of parallel programming. In this work was developed an interface constituted by skeletons implemented
on language C++ using templates classes. In the implementation realized is possible that the programer define the types of data manipulated by skeletons, so eliminating the use of pointers of type void* feature of Pthreads. The skeletons which belong the interface are: Map, Reduce, Zip, Scan, Fork, MapReduce, Farm e Divide and Conquer. | pt_BR |
dc.description.sponsorship | Sem bolsa | pt_BR |
dc.language | por | pt_BR |
dc.publisher | Universidade Federal de Pelotas | pt_BR |
dc.rights | OpenAccess | pt_BR |
dc.subject | Computação | pt_BR |
dc.subject | Interface de programação | pt_BR |
dc.subject | Multithread | pt_BR |
dc.subject | Esqueletos paralelos | pt_BR |
dc.subject | Programming interface | pt_BR |
dc.subject | Parallel skeletons | pt_BR |
dc.title | Kanga: uma interface genérica baseada em esqueletos para programação paralela em Anahy3 | pt_BR |
dc.title.alternative | Kanga: an generic interface based on skeletons to parallel programming on Anahy3 | pt_BR |
dc.type | masterThesis | pt_BR |
dc.contributor.advisor-co1 | Du Bois, Andre Rauber | |
dc.description.resumo | Os programadores tem grandes dificuldades com a programação paralela, principalmente, porque devem dividir a aplicação em partes que possam ser executadas simultaneamente e mapeá-las sobre os núcleos disponíveis no processador de forma que a aplicação tenha bom desempenho. Para realizar essas tarefas são utilizadas ferramentas de programação paralela, neste trabalho é utilizada a ferramenta de programação multithread Anahy3 que tem uma interface baseada no padrão POSIX Threads. O Anahy3 oferece recursos para descrição e controle da concorrência e também mecanismos de escalonamento. Estes mecanismos são executados de forma automática pelo ambiente de execução deixando o programador livre da responsabilidade de mapear as atividades entre os núcleos do processador. O objetivo deste trabalho e estender a interface de programação de Anahy3 por meio de recursos de programação paralela de mais alto nível. Para implementar estes novos recursos encontramos na literatura o conceito de algoritmos de esqueletos paralelos. Os esqueletos são modelos de programação paralela de alto nível que encapsulam padrões de algoritmos recorrentes de programação paralela. Neste trabalho foi desenvolvida uma interface constituída por esqueletos implementados na linguagem C++ por meio de classes templates. Na implementação realizada é possível que o programador defina os tipos de dados a serem manipulados pelos esqueletos, assim eliminando o uso de ponteiros do tipo void* característicos de Pthreads. Os esqueletos que compõem a interface são: Map, Reduce, Zip, Scan, Fork, MapReduce, Farm e Divisão e Conquista. | pt_BR |
dc.publisher.department | Centro de Desenvolvimento Tecnológico | pt_BR |
dc.publisher.program | Programa de Pós-Graduação em Computação | pt_BR |
dc.publisher.initials | UFPel | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.contributor.advisor1 | Cavalheiro, Gerson Geraldo Homrich | |