12.04.2013 Views

pdf (90) - Faculdade de Informática - pucrs

pdf (90) - Faculdade de Informática - pucrs

pdf (90) - Faculdade de Informática - pucrs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!