Use este identificador para citar o ir al link de este elemento: http://hdl.handle.net/1843/SLSS-8GPN7B
Registro completo de metadatos
Campo DCValorIdioma
dc.contributor.advisor1Renato Antonio Celso Ferreirapt_BR
dc.contributor.advisor-co1Fernando Magno Quintao Pereirapt_BR
dc.contributor.referee1Fernando Magno Quintao Pereirapt_BR
dc.contributor.referee2Márcio Luiz Bunte de Carvalhopt_BR
dc.contributor.referee3Wagner Meira Juniorpt_BR
dc.creatorLeonardo Luiz Padovani da Matapt_BR
dc.date.accessioned2019-08-10T12:07:18Z-
dc.date.available2019-08-10T12:07:18Z-
dc.date.issued2010-10-18pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/SLSS-8GPN7B-
dc.description.abstractThe computers architectures are becoming more distributed and hierarchical,that is, there exist lots of computers in a cluster and there are many processors in these computers and these processors have multiple cores. Many models have been proposed to explore the features of the computers architectures. The Data-flow computing models stand out among the proposed models because they can be better mapped into these architecture allowing applications to be described as a set of resources connected with data-flow streams. If the applications are automatically translated to these data-flow computing mo-dels, an wider range of applications can benefit from the execution in an distributed and hierarchical environment. The goal of the present work is to evaluate compilation strategies to do the automatictransformation of code for execution in a data-flow computing environment, allowing the usage of this model for programmers that don't need to understand this technology. In this work a source-to-source translator prototype is presented to do the automatic transformation. This translator receives C code in a canonical loop shape and map the code into filters for executing in Anthill, an implementation of the data-flow computing model. The translator focuses in the parallelization of the application. There is no concern about code optimization and with the quality of reading and writing data speed. The translator splits each execution block of the code and inserts into a new Anthill filter, all the data dependency that exists between two filters are solved by inserting a stream for communication of this data. If the generated filter iteratesover the same domain of another filter, the communication inserted is a labeled-stream that will guarantee the data available where it is needed. Three Data Mining applications have been analyzed in the work, Frequent item-sets, K-means and K-nearest neighbors. Filters have been automatically generated and experiments have been conducted to measure the execution time of these applications.The translator generated filters achieve good results in terms of speed-up and scale-up, using the available resources for their execution. These applications have been compared with manual implementations made by experienced programmers. The results of both versions (automatically and manually transformed) from Frequent Itemsets and K-nearest neighbors had similar performance. The automatic generated version of K-means have worse performance (it terms of execution time) compared with the manual version, but with a larger number of processors, the automatic version had better performance in some cases.The usage of the compilation strategies presented in this work allow an wider range of applications have better usage of the computer architecture resources and allow the usage of Data-Flow computing models to solve more problems in computer science.pt_BR
dc.description.resumoAs arquiteturas de computação são cada vez mais distribuídas e hierárquicas, ou seja, existem vários computadores num cluster, sendo que cada computador possui vários processadores e cada um deles possui vários núcleos. Diversos modelos foram propostos para explorar essas características das arquiteturas de computação, dentre esse modelos se destacam os modelos de computação em Dataflow, que acoplam-se bem à nova organização das arquiteturas distribuídas, pois permitem a descrição das aplicações como um conjunto de recursos que se conectam através de fluxos de dados.Se as aplicações forem traduzidas automaticamente para esses modelos de computação em Dataflow, uma gama maior de aplicações poderá dispor de todos os benefícios de uma execução num ambiente distribuído e hierárquico.O objetivo desse trabalho é avaliar estratégias de compilação para realizar a transformação de código para execução no ambiente de computação em Dataflow de forma automática, permitindo o uso desse modelo de programação por programadores que não dominem essa tecnologia.Nessa dissertação é apresentado um protótipo de um tradutor fonte para fonte para realizar essa transformação. Esse tradutor recebe código em C que esteja na forma de um loop canônico e mapeia o código em filtros para execução no Anthill, uma implementação do modelo de computação em Dataflow.O foco do tradutor é gerar um código que seja capaz de executar em paralelo. Não há preocupação com a otimização do código gerado nem com possíveis gargalos gerados na leitura ou na escrita de dados na saída. O tradutor separa cada bloco de execução e o insere num filtro Anthill, sendo que as dependências de dados existentes entre filtros são resolvidas através da insersão de uma comunicação entre eles. Se ofiltro onde um dado é gerado iterar sobre o mesmo domínio de um outro filtro, a comunicação a ser realizada é o labeled-stream garantindo que o dado chegue a instância do filtro onde ele é necessário.Foram avaliadas três aplicações de Mineração de Dados, o Frequent Itemsets, o K-means e o K-nearest neighbors. Utilizando as estratégias apresentadas nessa dissertação foram gerados filtros e executadosexperimentos medindo o tempo de execução para cada um deles.Os filtros gerados pelo tradutor mostraram resultados satisfatórios de speed-up e scale-up aproveitando os recursos disponíveis para a execução da aplicação. Além disso, foi comparada a execução dessaaplicações com versões implementadas por programadores experientes, e os resultados dos tempos de execução para os algoritmos Itemsets Frequentes e K-nearest neighbors gerados automaticamente foram bem próximos dos algoritmos gerados manualmente. O algoritmo K-means gerado automaticamente teve um desempenho (em termos de tempo de execução) bem inferior ao desenvolvido manualmente, mas ele suportou melhor o aumento do número de processadores disponíveis e teve até desempenho superior em alguns casos. Em suma, o uso das estratégias de compilação apresentadas nesse trabalho pode permitir uma gama maior de aplicações aproveitando melhor os recursos de arquiteturas de computação que sejam distribuídas e hierárquicas e pode permitir o uso maior de ambientes de programação em Dataflow para a solução de problemas de computação.pt_BR
dc.languageInglêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectdataflowpt_BR
dc.subjectarquitetura de computaçãopt_BR
dc.subject.otherComputaçãopt_BR
dc.subject.otherProgramação de Sistemas (computação)pt_BR
dc.subject.otherCompiladores (Programas de computador)pt_BR
dc.titleGeração automática de código para a execução em um ambiente de computação em DataFlowpt_BR
dc.typeDissertação de Mestradopt_BR
Aparece en las colecciones:Dissertações de Mestrado

archivos asociados a este elemento:
archivo Descripción TamañoFormato 
leonardoluizpadovanimata.pdf1.89 MBAdobe PDFVisualizar/Abrir


Los elementos en el repositorio están protegidos por copyright, con todos los derechos reservados, salvo cuando es indicado lo contrario.