Dissertação
Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
A polinomial heuristic scheduling of loops on coarse grained reconfigurable architectures
Registro en:
LOPES, Vinícius Duarte. A polinomial heuristic scheduling of loops on coarse grained reconfigurable architectures. 2013. 90 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2013.
Autor
Lopes, Vinícius Duarte
Institución
Resumen
Atualmente as arquiteturas reconfiguráveis são atrativas em desempenho e baixo consumo de energia para aplicações com laços de computação intensiva. FPGAs são arquiteturas de grão fino que oferecem possibilidade de aceleração para essas aplicações, porém, o processo de mapeamento geralmente é demorado e complexo. Como alternativa, surgem as arquiteturas reconfiguráveis de grão grosso, que provêem menor flexibilidade que os FPGAs, porém menor complexidade de mapeamento. O objetivo deste trabalho é o mapeamento em tempo de execução do grafo de fluxo de dados, que representa um laço, em uma arquitetura reconfigurável grão grosso. O problema é NP-Completo e as diversas heurísticas encontradas na literatura não são viáveis para uma implementação dinâmica. Nesta dissertação propomos uma nova heurística capaz de realizar o mapeamento em tempo de execução da aplicação. Enquanto soluções anteriores necessitam de segundos para mapear aplicações, resultados experimentais mostraram que a solução proposta requer em média apenas 390 microssegundos para gerar mapeamentos próximos do ótimo na arquitetura utilizada, para 15 benchmarks extraídos de aplicações multimídia. Assim, a solução apresentada pode ser implementada em um ambiente de compilação Just-In-Time, podendo ser utilizada em contextos dinâmicos onde várias aplicações compartilham a arquitetura reconfigurável com possibilidade de mudança na composição dos elementos de processamento ou em cenários com presença de falhas no hardware. Além disso, apresentamos um modelo de implementação da heurística em hardware, com potencial redução do tempo de mapeamento em até 90% em relação à execução em software em um ambiente Just-In-Time. Nowadays reconfigurable architectures are attractive both in performance and low power consumption for applications with computing intensive loops. FPGAs are fine-grained architectures that offer the possibility of acceleration for these applications, however, the mapping process is typically time consuming and complex. Although Coarse Grained Reconfigurable Architectures (CGRAs) provide less flexibility than FPGAs, they has less complex mapping. The goal of this work is the runtime mapping of the dataflow graph, which represents a loop, on a reconfigurable architecture. The problem is NP-Complete and the heuristics found in the literature are not feasible for a dynamic implementation. We propose a heuristic solution that utilizes two distinct mechanisms: an architecture that simplifies the most of the mapping process, with minimal degradation in performance, and an algorithm to perform the mapping at run-time application. While previous solutions require seconds to mapping applications, the proposed solution requires only microseconds to generate near-optimal mappings. Accordingly, the presented solution enables the use of the Just-In-Time compilation, which can be used in dynamic contexts where various applications share a reconfigurable architecture with a possibility of change in composition of processing elements or scenarios with presence of hardware failures. Furthermore, we present an implementation model of the algorithm in hardware, which aims to be 90% faster when compared to the software Just-In-Time solution.