Dúvidas e sugestões
|
Consultar: Programa de Pós-Graduação em Ciência da Computação
Início > Dissertações e Teses > Ciências Exatas e da Terra > Ciência da Computação > Programa de Pós-Graduação em Ciência da Computação
Título [PT]: PLH : uma linguagem de programação baseada estritamente em tarefas
Título [EN]: PLH: A strict task-based programming language
Autor(es): Rodrigo Hübner
Palavras-chave [PT]:
Linguagem de programação PLH. Paralelismo. Tarefas. Ambiente de execução. Brasil. |
Palavras-chave [EN]:
Pogramming languages. Tasks. Parallelism, and execution environment. Brazil. |
Titulação: Mestre em Ciência da Computação
Banca:
Anderson Faustino da Silva [Orientador] - UEM
Ronaldo Augusto de Lara Gonçalves - UEM
Márcio Augusto de Souza - UEPG |
Resumo:
Resumo: Atualmente os mecanismos de software utilizados para fornecer programação paralela se apresentam em três formas: bibliotecas, linguagens extendidas e linguagens específicas. Estes mecanismos permitem especificar unidades ou fluxos paralelos além de um modo de comunicação entre tais fluxos. Embora cada mecanismo apresente suas vantagens e desvantagens e simplifique o desenvolvimento de programas paralelos, escondendo do programador parte da gerência do ambiente de execução, geralmente tornam explícito algumas construções paralelas. Com a motivação de ter uma linguagem de programação simples, foi desenvolvido a linguagem de programação PLH, uma linguagem de propósito geral e estritamente baseada em tarefas, na qual parte da gerência relacionada ao paralelismo é retirada do desenvolvedor. Para este fim, além da linguagem de programação, também foi desenvolvido um ambiente de execução implementado com uma série de estratégias baseadas em outros ambientes, capaz de criar e executar tarefas potencialmente em paralelo e ainda, lidar com as questões gerenciais movidas da linguagem de programação para um modelo de execução bem definido. A premissa básica e a principal questão gerencial imposta em PLH é pense em paralelo, assim, aplicações desenvolvidas em PLH terão poucas dependências em relação as tarefas, consequentemente, poderão explorar ao máximo os recursos disponibilizados pelo hardware. Uma análise de desempenho realizada neste trabalho mostrou que para quatro aplicações a escalabilidade foi a ideal, obtendo uma média de escalabilidade de 50,47% a medida que os processadores aumentam. Outras quatro aplicações chegaram próximo ao ideal, com uma média de escalabilidade de 43,99%. Entretanto, uma aplicação não obteve bom desempenho com uma média de escalabilidade de 38,01%. Em relação à utilização dos recursos computacionais, a média percentual obtida na utilização da UCP pelas aplicações foi de 668,11% para uma configuração com oito processadores.
Abstract: Currently the software mechanisms employed to provide parallel programming are presented in three forms: libraries, extended languages and specific languages. These mechanisms allow to specify units or threads further a mode of communication between such threads. Although each mechanism present their advantages, disadvantages and simplify the development of parallel programs, it hide from the programmer part of management of the execution environment, usually this mechanisms make some explicit parallel constructs. With the motivation of having a simple programming language was developed the programming language PLH, a general purpose language strictly task-based, in which part of related parallelism management is removed from developer. For this purpose, besides the programming language was also developed an execution environment with a series of strategies based on other environments. The execution environment is able to create and execute tasks in parallel, and potentially also deal with management issues, moving them from the programming language to execution model well-defined. The basic premise and the main management issue is imposed in PLH as think in parallel, so applications developed in PLH have fewer dependencies on tasks, therefore, can make the best resources provided by the hardware. A performance analysis conducted in this work showed that four applications for scalability was the ideal, getting an average of 50.47% to scalability as processors increase. Four other applications came close to ideal, with an average of 43.99% scalability. However, an application didn't get good performance with an average of 38.01% scalability. Regarding the use of computational resources, the average percentage obtained in CPU utilization for applications was 668.11% for a configuration with eight processors. |
Data da defesa: 05/03/2012
Código: vtls000195712
Informações adicionais:
Idioma: Português
Data de Publicação: 2012
Local de Publicação: Maringá, PR
Orientador: Prof. Dr. Anderson Faustino da Silva
Instituição: Universidade Estadual de Maringá. Centro Tecnologia . Programa de Pós-Graduação em Ciência da Computação
Nível: Dissertação (mestrado em Ciência da Computação)/
UEM: Departamento de Informática |
Responsavel: beth
Categoria: Aplicação
Formato: Documento PDF
Arquivo: Dissertação.pdf
Tamanho: 7333 Kb (7509488 bytes)
Criado: 13-04-2012 13:29
Atualizado: 13-04-2012 13:34
Visitas: 1180
Downloads: 17
[Visualizar] [Download]
Todo material disponível neste sistema é de propriedade e responsabilidade de seus autores.
|