Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo...
Transcript of Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo...
Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis
Luciano Rigelo Azevedo
Confiabilidade de Sistemas
Prof. Eduardo Bezerra
Pontifícia Universidade Católica do Rio Grande do Sul
PPGCC - Faculdade de Informática
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
Exemplo
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
FuncionamentoExemplo:
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
Synthesis Methods
Ilustração dos Tiles
Ilustração dos Tiles
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