tolerância a falhas em sistemas distribuídos agnaldo l martins

26
Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Upload: internet

Post on 18-Apr-2015

135 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Tolerância a Falhasem Sistemas Distribuídos

Agnaldo L Martins

Page 2: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Tolerância a falhas

Falhas são inevitáveis, mas suas conseqüências devem ser minimizadas

O domínio da área de TF auxilia administradores e desenvolvedores de sistemas a avaliar a relação custo benefício para o seu caso específico e determinar a melhor técnica para seu orçamento

Ex: backup consome espaço e tempo enquantoredundância de equipamentos e espelhamento de discos exige investimentos sem aumento de desempenho

Page 3: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Tolerância a falhas

É um conjunto de técnicas para detectar, mascarar, e tolerar falhas.

Sistema tolerante a falhas

É um sistema que continua provendo corretamenteos seus serviços mesmo na presença de falhas dehardware ou de software.

Defeitos não são visíveis para o usuário, pois osistema detecta e mascara (ou se recupera) defeitosantes que eles alcancem os limites do sistema (pontode fuga da especificação).

Page 4: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

ERRO

FALHA

DEFEITO

Uma falhaManifesta-se atravésde um erro

Uma falharesulta deum defeito

Um defeito é a manifestação deum erro

Estado lógico inesperado

Comportamentoinesperado

Estado nãoespecificado

Page 5: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Outro nome para TF: Sistemas redundantes

- Um Erro é a manifestação de uma Falha no sistemaO estado lógico do sistema difere do seuvalor esperado

- Esta Falha resulta num DefeitoEstado não especificado do HW ou SW

- Um defeito é a manifestação do Erro no sistemaO comportamento real do sistema deriva do seu comportamento esperado

Page 6: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Possíveis causas de falhas

Descuidos na especificação

Descuidos na implementação

Defeitos de componentes

Distúrbios externos

Page 7: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Exemplos de possíveis causas de falhas

VírusBombas relógioExploração de falhas na redeFragmentaçãoInchaçoEnvelhecimento

Page 8: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Atributos de dependabilidade

Disponibilidade – diz respeito a média de tempo disponível para acessoConfiabilidade – diz respeito a continuidade da entrega de serviço corretoIntegridade – impedimento de alterações de estado imprópriasSegurança (safety) – diz respeito a garantias de nãohaver defeitos catastróficos ao usuário ou ambienteConfidencialidade – impedimento de acesso indevidoManutenabilidade – habilidade para reparo e modificações eficientesSegurança (security) – proteção contra acessos, ou controle, não autorizados ao estado do sistemaTestabilidade – facilidade para testar o sistema (ponto de teste, testes automatizados)

Page 9: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Meio de se obter

Prevenção de FalhasVisa prevenir a ocorrência ou introdução de falhas

Remoção de FalhasVisa reduzir o número ou a severidade das falhas

Previsão de FalhasVisa estimar o número presente, a incidência futura e as conseqüências das falhas

Tolerância a FalhasVisa entregar o serviço correto mesmo na presença de falhas

Page 10: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Prevenção de falhasAplicação de técnicas de controle de qualidade durante projeto (HW e SW)

- Programação estruturada ou OO?

- Modularização

- Regras de projeto rigorosas para prevenir falhas operacionais de HW

- Definição de procedimentos para manutenção

-Testes para prevenir falhas de interação

- Firewalls ou similares para prevenir falhas maliciosas

Page 11: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Remoção de falhas

Fase de desenvolvimentoVerificação – estamos construindo o produto certo?

– Estática

Verificação de modelos– Dinâmica

Injeção de falhas e execução simbólica (teste)• Diagnóstico – se não estiver certo, o que está errado?• Correção – corrige-se os problemas

Fase operacionalManutenção corretiva ou preventiva

Page 12: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Previsão de falhas

Para estimar o comportamento utiliza dois tipos de avaliações:

Qualitativa• identifica e classifica os modos de defeitos

Quantitativa• faz análise probabilística

As estimativas servem para realizar ações que evitem falhas/defeitos

Page 13: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Tolerância

Implementada por mascaramento ou detecção de erros seguida de recuperação do sistema

Classes de detecção de erros:Concorrente – execução concorrente ao serviçoPreemptiva – execução c/ suspensão do serviço

Recuperação consiste no re-estabelecimento de estado correto

Implica em controle de erros e falhas

Page 14: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Tolerância

Controle de errosRollback (checkpoint)Compensação (mascaramento)

Controle de falhasDiagnóstico de falhasIsolamento de falhasReconfiguração do sistemaRe-inicialização do sistema

Page 15: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Em resumo

Requisito básico para construção:REDUNDÂNCIA

Estrutura básica composta de:HARDWARE TOLERANTE A FALHASSOFTWARE TOLERANTE A FALHAS

Nosso enfoque: TÉCNICAS DE TF EM SISTEMAS DISTRIBUÍDOS

Page 16: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Tipo de redundância

Redundância de HardwareUtiliza-se de hardware adicional

Redundância de informaçãoUtiliza-se de bits adicionais

Redundância de softwareReplica componentes de softwareRe-executa computações

Page 17: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

REDUNDÂNCIA POR HARDWARE

Page 18: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Redundância de hardware

PassivaUsando módulos adicionais, onde 1 opera e os outros são backup

DinâmicaBaseia- se em detecção/localização, seguida de reconfiguração ou remoção

HíbridaVisa o mascaramento de falhas.Para obter melhordependabilidade usa mecanismos de detecção, localizaçãoe recuperação de falhas. Removem falhas de hardwaretrocando componentes defeituosos por esperasTécnica mais utilizada em aplicações críticas.

Page 19: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Ativa - Espera

Cold standbyEsperas desligados, ativação do zeroNão causa overhead durante operação

Warm standbyEsperas desligadas, ativação do último pontode verificação (checkpoint)

Hot standbyEsperas ligados, ativação do estado atualTambém chamado sistema duplex

Page 20: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

REDUNDÂNCIA DEINFORMAÇÃO

Page 21: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Redundância de informação

Visa detectar erros ou mascarar falhas incluindo bits ou sinais extras à informação.

Exemplos:ParidadeChecksumsDuplicação de códigoCódigos cíclicosCódigos de correção de erros

Page 22: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Código de paridade

Conceito básico: adicionar bit(s) para manter a palavra de código com um número par ou ímpar de 1s.

Principal uso: detecção de erros no armazenamento de memória.

5 abordagens:Paridade por palavraParidade por byteParidade por chipParidade por múltiplos chipsParidade entrelaçada

Page 23: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Paridade por palavra

01000100010001

11000100010000

- Permite apenas detecção de erros simples- Não permite detecção de muitos erros múltiplos- Forma um código separável

Page 24: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Paridade por Byte

Paridade por grupo de bitsPermite detecção de erros “tudo 1” ou “tudo 0”Permite detecção de erros múltiplos, se errosforem em grupos distintos

Page 25: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Paridade por Chip

Page 26: Tolerância a Falhas em Sistemas Distribuídos Agnaldo L Martins

Paridade por Múltiplos Chips