170 likes | 287 Views
Pontifícia Universidade Católica do Rio Grande do Sul PPGCC - Faculdade de Informática. Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis. Luciano Rigelo Azevedo. Confiabilidade de Sistemas Prof. Eduardo Bezerra. Introdução Particionamento do Projeto Físico Exemplo
E N D
Pontifícia Universidade Católica do Rio Grande do Sul PPGCC - Faculdade de Informática Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra
Introdução Particionamento do Projeto Físico Exemplo Benefícios Funcionamento da técnica Synthesis Methods Ilustração dos Tiles Conclusão Sumário
Introdução • FPGAs: prototipação, emulação lógica e aplicações de baxíssimo volume • Atualmente são utilizadas em aplicações comerciais • Aplicações espaciais (Mars Pathfinder 1996, Phoenix Mars 2007) • Requerimentos de confiabilidade altíssimos • Avanço tecnológico reduz a confiabilidade das FPGAs • Menores componentes internos sucetiveis a radiação • Chips maiores introduzem maiores oportunidades de falha • Tradicionalmente as soluções aplicadas são: • Redundância, replicação de componentes (ASICs, processadores e etc) • Replicação da lógica interna dos chips (BISR)
Introdução • Replicação não é muito utilizado no FPGA (reduz o número de portas lógicas) • Possível solução seria utilizar os recursos disponíveis no FPGA • Conceitualmente se um bloco lógico falha é possível encontrar um circuito alternativo • Ferramentas de “Place and Route” refazem o mapeamento • Alto tempo de execução do procedimento • Não atende aos requisitos de sistemas de tempo real • Usuário final teria que possuir as ferramentas e o conhecimento • Inviável na prática
Particionamento do Projeto Fisico • A idéia é aumentar a confiabilidade mantendo um baixo overhead no sistema • Arquitetura alvo utiliza FPGAs composta por CLBs (configuration Logic Blocks) • Particionar o projeto físico em tiles • Cada bloco é composto por: • Recursos físicos (CLBs e interconexões) • Especificação de interface com os blocos vizinhos • Netlist • Confiabilidade é alcançada através de configurações multiplas de cada tile • A interface de cada tile é fixa, ou seja, alterar um tile internamente não afetas os tiles vizinhos
Exemplo • Considerando a função: Y = (A ˅ B) ˅ (C ˄ D) • Sendo um tile com 4 CLBs • 3 CLBs ocupados e 1 de reserva • Alteração na configuração interna do tile não afeta a interface com os tiles vizinhos
Benefícios • Três benefícios principais • Baixíssimo overhead • Gerenciamento em tempo de execução • Totalmente flexivel • O custo de implementação da técnica é menor que o custo de um sistema redundante • Execução on line, maior disponibilidade • Técnica genérica compatível com soluções específicas da aplicação • Grau de confiabilidade depende do requisitos de tempo, disponibilidade de recursos e da confiabilidade do CLB
Funcionamento • Objetivo: • Parcialmente reconfigurar o FPGA para uma alternativa sem falha • Se a nova configuração implementa a mesma função sem utilizar o bloco em falha, o sistema pode ser reiniciado • Desafio: encontrar a configuração alternativa eficientemente • Tiles • Conjunto de CLBs e recursos interconectados • Netlist utilizada nos CLBs e as configurações de roteamento das conexões • Especificação da interface com os tiles adjacentes • Atomic Fault Tolerant Block – AFTB • É um tile com no mínimo um CLB reserva
Funcionamento • Tile esta associado a recursos físicos do FPGA e a um porção da netlist completa do projeto • O Projeto só pode ser particionado em tiles depois que toda a netlist passou pelo processo de place-and-route • Tolerância a falhas é alcançada através de recursos reservas em cadas AFTB • Cada tile tem um conjunto de AFTBs • Vantagem do particionamento • Armazenar o conjunto de AFTBs ocupa menos memória do que armazenar um conjunto de configurações completas
Funcionamento • Exemplo: • Um sistema deve tolerar falhas em qualquer CLB em um sistem composto por uma matriz de 6 x 6 CLBs. • Sem tiles seriam necessários 36 configurações • É possível dividir o sistema em 4 tiles de 3 x 3 CLBs • Cada tile possui 9 ATFBs • Redução na área de armazenamento de 75% • Sem tile sistema suporta apenas um CLB em falha • Com tile sistema suporta 1 CLB em falha para cada tile
Funcionamento Exemplo:
Synthesis Methods • Tipo Top Down • Inicia-se com um projeto não tolerante a falhas • Recursivamente o projeto é dividido em tiles e AFTBs • Análise de aplicabilidade de todas as possíveis falhas • Remover as soluçõas não aplicaveis ao projeto
Conclusão • Aumento da confiabilidade • Redundância com recursos internos • Sistema on line • Baixo overhead • Problema: • A detecção de falhas deve ser capaz de detectar falhas no mapa de arquitetura do sistema