Tolerância a Falhas
Carlos Oberdan Rolim
Ciência da Computação
Técnicas para alcançar dependabilidade
Técnicas e métodos para alcançar a
dependabilidade desejada
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;
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.
Fases de Aplicação das técnicas de
Tolerância a Falhas
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.
Detecção: Duplicação e comparação
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;
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.
Terceira Fase: Recuperação
Ocorre após a detecção;
Troca do estado atual incorreto para um estado livre de
falhas;
Terceira Fase: Recuperação
Técnicas de Recuperação
Terceira Fase: Recuperação
Recuperação por retorno e por avanço
Quarta Fase: Tratamento
Localizar a origem da falha;
Localizar a falha de forma precisa;
Reparar a falha;
Recuperar o restante do sistema.
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.
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.
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
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.
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
Mecanismos para Mascarar Falhas
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
Redundância
Redundância de Informações;
Redundância Temporal;
Redundância de Hardware;
Redundância de software;
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.
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.
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;
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;
Redundância de Hardware
Baseada da replicação de componentes físicos:
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)
Redundância de Hardware Passiva
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;
Redundância de Hardware Passiva
TMR com votador Triplo
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;
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...
Redundância de Hardware Passiva
Confiabilidade de TMR
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.
Download

Tolerância a Falhas