Autores

5267
Alexandre Ferreira Sardinha de Mattos
2378,131,163
5268
2378,131,163
5269
2378,131,163

Informações:

Publicações do PESC

Título
Mapeamento de Instruções Dataflow
Linha de pesquisa
Arquitetura e Sistemas Operacionais
Tipo de publicação
Dissertação de Mestrado
Número de registro
Data da defesa
29/6/2012
Resumo

O limite de dissipação de energia térmica de um chip fez com que as frequências dos processadores não pudessem aumentar como o esperado. Então, a indústria teve de buscar alternativas para garantir o aumento de performance computacional e passou a investir em processadores com múltiplos núcleos em um mesmo chip.
Para aproveitar todo o potencial dos processadores multicores, surge a necessidade da adoção de modelos alternativos de programação paralela, como é o caso do modelo Dataflow. A característica principal nesta arquitetura é que as instruções podem ser executadas assim que seus operandos estão disponíveis. Portanto, o programa segue o fluxo de dados ao invés de seguir a ordem sequencial do código (modelo Von Neumann).
No contexto das arquiteturas Dataflow, existe o problema de como mapear instruções para os Elementos de Processamento. Isto é, dado um conjunto de instruções I, um grafo direcionado G(I,E), que descreve as dependências entre instruções, e um conjunto de Elementos de Processamento P, qual deve ser a maneira de distribuir (mapear) as instruções nos Elementos de Processamento, de modo a tentar minimizar o tempo total de execução do programa Dataflow. É este o problema que nos dedicamos a estudar nesta dissertação.

Abstract

The limit of thermal energy dissipation on a chip meant that the processors frequencies could not increase as expected. Thus, the industry had to seek alternatives to ensure the increase in computational performance and spent investing in multicore processors on a single chip.
To harness the full potential of multicore processors, it becomes necessary to adopt alternative models of parallel programming, such as Dataflow model. The main feature of this architecture is that the instructions can be performed as soon as their operands are available. Therefore, the program follows the data flow rather than following the code sequentially (Von Neumann model).
In Dataflow architectures context, there is the problem of how to place instructions to the Processing Elements. That is, given an instruction set I, a directed graph G (I, E), which describes the dependencies between instructions, and a set of Processing Elements P, which should be a way to distribute (place) instructions in the Processing Elements, to try to minimize the total execution time of the Dataflow program. This is the problem we dedicated to study in this master thesis.In this work, we implemented an Architectural Dataflow Simulator, at cycle level, to serve as test environment and assist to study the placement effects in program execution. Furthermore, we propose a placement algorithm from a dynamic programming technique with some improvements. Finally, we implemented a test-suite programs to serve as a benchmarking and present a comparative study between the proposed algorithm and other placement algorithms.

Topo