O documento discute técnicas de tolerância a falhas para alcançar dependabilidade em sistemas, incluindo mascaramento de falhas através de redundância e detecção/localização de erros. Aborda fases como detecção, confinamento, recuperação e tratamento de falhas, além de métodos como duplicação, códigos de correção de erros e redundância de hardware, software e informação.
2. Técnicas para alcançar dependabilidade
Técnicas e métodos para alcançar a
dependabilidade desejada
3. Tolerância a Falhas
Prevenção e remoção de falhas não são suficientes quando
sistema exige alta confiabilidade ou alta disponibilidade;
Sistema deve ser construído usando técnicas de tolerância a
falhas;
4. Tolerância a Falhas
Duas classes de técnicas de tolerância a falhas:
Mascaramento:
Falhas não se manifestam como erros (são mascaradas na origem)
Detecção, localização e reconfiguração.
6. Primeira Fase: detecção de Erro
Falha primeiro se manifesta como um erro;
Antes da manifestação como erro, a falha está latente e não
pode ser detectada;
Ex. mecanismo de detecção: Duplicação e comparação.
8. Segunda Fase: Confinamento
Da ocorrência da falha, até o erro ser detectado, pode haver
“espalhamento” de dados inválidos;
O confinamento estabelece limites para a propagação do
dano;
9. Segunda Fase: Confinamento
Decisões de projeto;
Sistemas, por natureza, não provêem confinamento;
Durante o projeto devem ser previstas e implementadas
restrições ao fluxo de informações;
Estabelecer interfaces de verificação para detecção de erro.
13. Quarta Fase: Tratamento
Localizar a origem da falha;
Localizar a falha de forma precisa;
Reparar a falha;
Recuperar o restante do sistema.
14. Quarta Fase: Tratamento
Localizar:
Localização Grosseira e rápida: aplicada sobre um módulo ou
subsistema;
Localização Fina: onde o componente falho é determinado
Para os dois tipos de localização é usado diagnóstico.
15. Quarta Fase: Tratamento
Diagnóstico: Teste de comparação entre resultados gerados
com resultados previstos:
Manual: executado por um operador local ou remoto;
Automático: executado pelos componentes livres de falha do sistema.
16. Quarta Fase: Tratamento
Após a localização, a falha é reparada através da remoção
do componente danificado, o reparo pode ser:
Manual
Automático
17. Quarta Fase: Tratamento
Automático:
Degradação Gradual: Reconfiguração para operação com menor
número de componentes;
Substituição: por outro componente disponível no sistema. (usada em
sistemas com longos perídos de missão sem possibilidade de reparo
manual, sondas espaciais e satélites.
18. Mascaramento de Falhas
Garante resposta mesmo na presença de falhas;
A falha não se manifesta como erro;
Em caso de falhas permanentes, a localização e o reparo da
falha são necessários
20. Redundância
Redundância para aumento de confiabilidade é quase tão
antiga como a história dos computadores;
Todas as técnicas de tolerância a falhas envolvem alguma
forma de redundância;
Na indústria nacional, o termo utilizado para designar um
sistema tolerante a falhas é sistema redundante
22. Redundância
Serve tanto para detecção de falhas quanto para
mascaramento;
O grau de redundância é diferente para cada caso;
Para mascarar falhas são necessários mais componentes do que para
detectar falhas.
23. Redundância de Informação
Bits ou sinais extras são armazenados ou transmitidos junto
ao dado;
Servem para deteção de erros ou mascaramento de falhas
Ex.:
Códigos de paridade;
Checksums;
Códigos de duplicação;
Códigos cíclicos.
24. Redundância Temporal
Repete a computação no tempo;
Evita custos de Hardware;
Aumenta o tempo necessário para realizar uma computação
Usada em sistemas onde o tempo não é crítico;
25. Redundância Temporal
Aplicações usuais:
Detecção de falhas transitórias: repetindo a computação;
Detecção de falhas permanentes: repete-se a computação com dados
codificados e decodifica-se o resultado antes da comparação;
27. Redundância de Hardware Passiva
Os elementos redundantes são usados para mascarar
falhas;
Todos os elementos executam a mesma tarefa;
O resultado é determinado por votação;
Ex:
TMR (triple modular redundancy) e NMR (redundância modular com n
módulos)
29. Redundância de Hardware Passiva
Soluções para contornar a fragilidade do votador:
Construir o votador com componentes de alta confiabilidade;
Triplicar o votador;
Realizar a votação por software;
31. Redundância de Hardware Passiva
TMR apresenta uma confiabilidade maior que um sistema de
um único componente até a ocorrência da primeira falha
permanente;
Depois perde a capacidade de mascarar falhas,
apresentando confiabilidade menor que um sistema de um
único componente;
32. Redundância de Hardware Passiva
Com o tempo, TMR apresenta uma confiabilidade pior do
que um sistema não redundante;
TMR é ideal para períodos não longos de missão, suporta
apenas uma falha permanente
Ideal para falhas temporárias... Uma de cada vez...
34. Redundância de Hardware Passiva
NMR (Redundância Modular Múltipla) é a generalização de
TMR
TMR é um caso especial de NMR;
O computador de bordo do ônibus espacial é um exemplo de NMR, com
n igual a 4 e votação por software.