pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
tamanho do hardware disponível. Além disso, uma estrutura <strong>de</strong> computação tem que ser fixa em<br />
tempo <strong>de</strong> execução, sem a possibilida<strong>de</strong> <strong>de</strong> alocação dinâmica <strong>de</strong> recursos.<br />
Além disso, programas <strong>de</strong>senvolvidos para um dispositivo em particular (ou conjunto <strong>de</strong> dispo-<br />
sitivos) possuem compatibilida<strong>de</strong> <strong>de</strong> código-fonte bastante limitada, e nenhuma compatibilida<strong>de</strong> do<br />
arquivo <strong>de</strong> configuração entre dispositivos <strong>de</strong> diferentes fabricantes. Organizar um programa para<br />
uma nova geração <strong>de</strong> dispositivos, ou para um dispositivo menor e mais barato, ou ainda com consu-<br />
mo mais baixo, tipicamente requer esforço humano substancial.<br />
Como solução a estes problemas, é apresentada a computação organizada em fluxos para execução<br />
reconfigurável (Stream Computations for Reconfigurable Execution - SCORE) [DEH00]. O mo<strong>de</strong>lo<br />
computacional SCORE tenta resolver a limitação <strong>de</strong> recursos físicos através da virtualização <strong>de</strong> re-<br />
cursos computacionais, <strong>de</strong> comunicação e <strong>de</strong> memória do hardware reconfigurável. Configurações<br />
do FPGA são particionadas em páginas <strong>de</strong> tamanho fixo que se comunicam: em analogia à memória<br />
virtual, o hardware é carregado (paged in) sob <strong>de</strong>manda.<br />
A comunicação por fluxo entre as páginas que não estão simultaneamente no dispositivo po<strong>de</strong><br />
ser transparentemente buferizada 3 através da memória. O fluxo é uma ligação unidirecional página-<br />
à-página (Figura 2.8). Este esquema permite uma aplicação particionada explorar mais as páginas<br />
disponíveis fisicamente, sem necessida<strong>de</strong> <strong>de</strong> recompilação.<br />
Figura 2.8: Ligação unidirecional página-à-página.<br />
Em função <strong>de</strong>ssa abordagem, SCORE permite que as reconfigurações sejam menos freqüentes, o<br />
que acarreta a amortização do custo <strong>de</strong> reconfiguração sobre um gran<strong>de</strong> conjunto <strong>de</strong> dados.<br />
Com um projeto a<strong>de</strong>quado <strong>de</strong> hardware, este esquema permite compatibilida<strong>de</strong> binária e escala-<br />
bilida<strong>de</strong> entre diferentes famílias <strong>de</strong> dispositivos através da compatibilida<strong>de</strong> das páginas.<br />
Para as aplicações beneficiarem-se dos recursos físicos adicionais (páginas), o mo<strong>de</strong>lo <strong>de</strong> progra-<br />
mação é uma abstração natural da comunicação que ocorre espacialmente entre blocos <strong>de</strong> hardware.<br />
Isto é, o grafo do fluxo <strong>de</strong> dados captura os blocos <strong>de</strong> computação (operadores) e a comunicação (flu-<br />
xo) entre eles. Uma vez capturado, é possível explorar técnicas para mapeamento <strong>de</strong>sses grafos em<br />
3 Neologismo baseado no termo em inglês buffer, que é um recurso <strong>de</strong> armazenamento temporário na memória<br />
34