Busca avançada
Ano de início
Entree

Aceleração de hardware heterogêneo personalizado para aplicações computacionais de alto desempenho

Processo: 13/08158-2
Linha de fomento:Auxílio à Pesquisa - Pesquisador Visitante - Internacional
Vigência: 01 de novembro de 2013 - 09 de novembro de 2013
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Metodologia e Técnicas da Computação
Pesquisador responsável:Eduardo Marques
Beneficiário:Eduardo Marques
Pesquisador visitante: Joao Manuel Paiva Cardoso
Inst. do pesquisador visitante: Universidade do Porto (UP), Portugal
Instituição-sede: Instituto de Ciências Matemáticas e de Computação (ICMC). Universidade de São Paulo (USP). São Carlos , SP, Brasil
Assunto(s):Arquitetura e organização de computadores  Computação reconfigurável  Computação de alto desempenho  Montadores e compiladores  Circuitos FPGA  Unidade de processamento gráfico 

Resumo

O Processamento de Alto Desempenho (PAD) está no âmago de muitos desafios científicos e de engenharia com um enorme impacto nas necessidades da vida moderna. O entendimento das causas e a previsão dos potenciais impactos das mudanças climáticas nos nossos recursos naturais, produção agrícola; o aumento da eficiência da combustão ou o desenvolvimento de estratégias de tempo real para a alocação de recursos físicos em face a falhas nas redes bem como vários desafios de segurança nacional exigem capacidade sustentada de computação de alto desempenho. Se por um lado as comunidades acadêmicas e industriais atenderam suas necessidades de PAD com o desenvolvimento de máquinas de larga escala com capacidade impressionante de computação concorrente sustentada e taxas de cálculo agregado de Peta-flops, por outro o aumento da demanda de capacidade computacional via melhoria tecnológica como técnicas litográficas cada vez mais avançadas e frequências de relógio cada vez mais elevadas tem diminuído significativamente em função de problemas de energia e confiabilidade. Os módulos básicos destas máquinas exibem baixas eficiências computacionais e novas melhorias em termos de desempenho e energia são pequenas no melhor caso. O caminho para máquinas altamente concorrentes aumentam não apenas os requisitos energéticos destas máquinas de larga escala mas também pioram a dificuldades de programá-las efetivamente. Como resultado, tanto desempenho quanto programadores deixam de ser portáveis. Uma solução ao nível de arquitetura que atende a estas preocupações com eficiência energética e capacidade de alto desempenho se baseia no uso de circuitos reconfiguráveis (FPGAs - Field Programmable Gate Arrays) ou de processadores gráficos (GPUs - Graphics Processor Units) como hardware de aceleração conforme mostra a figura 1. Nesta organização arquitetural, as FPGAs/GPUs funcionam como co-processadores ou como unidades de processamento tradicionais e executam computação específica para a qual elas podem ser configuradas especialmente para serem extremamente poderosas e eficientes computacionalmente. Sua flexibilidade permite que obtenham desempenho ordens de grandeza melhor que sistemas computacionais convencionais em função desta especialização. Em termos da programação geral ao nível de sistema, este modelo "mestre-escravo" é bem intuitivo e pode ser facilmente implementado como parte da fase final de um compilador tradicional. (AU)