340 likes | 489 Views
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.
E N D
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.
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.
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
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 • 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.