Um cluster de PCs usando nós baseados em módulos aceleradores de hardware (FPGA) como co-processadores - Wanderley Pimentel Araujo, Rodrigo (2010)
A criação de novas soluções para aumentar o desempenho de aplicações está crescendo de importância, pois os processamentos convencionais estão se tornando obsoletos. Diferentes abordagens têm sido estudadas e usadas, porém vários problemas foram encontrados. Um exemplo é dos processadores com vários núcleos, que, apesar de dissipar pouca potência, apresentam velocidade de transmissão baixa e pequena largura de banda. Circuitos ASICs apresentam alto desempenho, baixa dissipação de potência, mas possuem um alto custo de engenharia. Na tentativa de conseguir mais altos níveis de aceleração, plataformas que associam o uso de cluster de computadores convencionais com FPGAs têm sido estudadas. Este tipo de plataforma requer o uso de barramentos de alto desempenho para minimizar o gargalo de comunicação entre PC e FPGA, e um comunicador eficiente entre os nós do sistema. Neste trabalho, são vistas as principais características de algumas arquiteturas que utilizam cluster de PCs. Com isto, é proposta uma arquitetura que utiliza FPGA como co‐processador em cada nó do sistema, utilizando a interface MPI para comunicação entre os nós e um device driver, para Linux, que permite transferência em rajada dos dados, através do barramento PCIe. Como estudo de caso, usado para a validação da arquitetura, é implementado a multiplicação de matrizes densas, esta funcionalidade é baseada no nível três da biblioteca BLAS