Geração automática de código para a execução em um ambiente de computação em DataFlow

AUTOR(ES)
FONTE

IBICT - Instituto Brasileiro de Informação em Ciência e Tecnologia

DATA DE PUBLICAÇÃO

18/10/2010

RESUMO

The 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 automatic transformation 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 iterates over 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.

ASSUNTO(S)

compiladores (programas de computador) teses. computação teses. programação de sistemas (computação) teses.

Documentos Relacionados