tolerância a falhas em sistemas baseados em fpgas reconfiguráveis luciano rigelo azevedo...

17
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

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 2: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

Introdução

Particionamento do Projeto Físico

Exemplo

Benefícios

Funcionamento da técnica

Synthesis Methods

Ilustração dos Tiles

Conclusão

Sumário

Page 3: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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)

Page 4: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 5: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 6: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 7: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

Exemplo

Page 8: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 9: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 10: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 11: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 12: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

FuncionamentoExemplo:

Page 13: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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

Page 14: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

Synthesis Methods

Page 15: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

Ilustração dos Tiles

Page 16: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

Ilustração dos Tiles

Page 17: Tolerância a falhas em Sistemas Baseados em FPGAs Reconfiguráveis Luciano Rigelo Azevedo Confiabilidade de Sistemas Prof. Eduardo Bezerra Pontifícia Universidade

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