Implementação de uma arquitetura para multiplicação de matrizes densas em sistemas reconfiguráveis de alto desempenho

Detalhes bibliográficos
Ano de defesa: 2011
Autor(a) principal: Lucy Santos de Souza, Viviane
Orientador(a): Eusébio de Lima, Manoel
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pernambuco
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufpe.br/handle/123456789/2140
Resumo: A recente evolução na arquitetura dos dispositivos lógicos programáveis, como os FPGAs (Field Programmable Gate Array), associada à demanda por desempenho exigida em aplicações de computação científica, despertou a atenção de projetistas de supercomputadores que têm investido na criação de plataformas híbridas, associando processadores de propósito geral a co-processadores baseados em FPGAs, em busca de melhores níveis de aceleração. Uma arquitetura que incorpore um ou mais processadores de propósito geral e FPGAs num link de alta velocidade é chamada computador reconfigurável de alto desempenho. Este tipo de configuração requer, em geral, uma alta largura de banda entre o processador e o FPGA, necessário para que os ganhos com a execução em hardware superem o gargalo na comunicação. O sucesso dessas plataformas depende de características como: recursos presentes no FPGA, disponibilidade de memória na arquitetura, largura de banda e capacidade de escalabilidade das mesmas. Ao mesmo tempo, uma análise adequada do problema e um particionamento hardware/software eficiente, são necessários. Neste caso, processos com características de controle devem ser executados no processador de propósito geral e a computação intensiva deve ser executada em FPGA, onde podem ser exploradas características como paralelismo de execução e reuso de dados. Neste trabalho, são estudadas as principais características de alguns dos computadores reconfiguráveis de alto desempenho existentes. Além disso, como estudo de caso, é apresentada a análise e desenvolvimento de uma das importantes operações da computação científica: a multiplicação de matrizes, objetivando uma das plataformas estudadas, a plataforma RASC (Reconfigurable Application-Specific Computing), desenvolvida pela Silicon Graphics. A arquitetura proposta no estudo de caso visa, a partir da análise do problema e da avaliação dos recursos disponíveis na plataforma alvo, a obtenção de melhores resultados de desempenho quando comparado à execução em plataformas convencionais, baseadas em processadores de propósito geral. Para tanto, características como paralelismo e o reuso de dados são exploradas. A partir do projeto desenvolvido, é apresentado um modelo para avaliação de desempenho do multiplicador que pode ser aplicado às demais plataformas estudadas