Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

46
Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva

Transcript of Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Page 1: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Sistemas Tolerantes a Falhas: Conceitos e Técnicas

FURB – DSC

Paulo Fernando da Silva

Page 2: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Sumário• Introdução• Conceitos • Redundância da Informação e Temporal• Redundância de Hardware• Redundância de Software• Tolerância a Falhas em Sistemas

Distribuídos• Considerações Finais

Page 3: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Introdução – Cenário Atual

• Expansão das redes de computadores;

• Maior disponibilidade de serviços;– Ex.: transações eletrônicas;

• Maior dependência de serviços;– Ex.: Site de vendas pela internet;

• Falhas podem prejudicar empresas;

Page 4: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Introdução – Cenário Atual

• Confiabilidade e disponibilidade são cada vez mais importantes;

• Dependência da sociedade:– Tráfego aéreo;– Área da saúde;– Área financeira;– Telecomunicações;

Page 5: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Introdução – Cenário Atual

• Hardware:– Teve grande aumento de confiabilidade;

• Software:– Está se tornando cada vez mais complexo;– Apresenta muito problemas;

• Só o hardware não garante a confiabilidade e disponibilidade dos sistemas;

Page 6: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Introdução – Exemplo de Falha

• Foguete Ariane 5 (1996):– Explodiu 37 segundos após o lançamento;– Invertigação apontou falha no software;– Conversão de 64bits para 16bits (overflow);– Gerou valor inválido que provocou a auto-

destruição;

– Código funcionava no Ariane 4;– Não foi adequado à realidade do Ariane 5;

Page 7: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Introdução - Desafios

• Como evitar, detectar e contornar bugs?

• Como explorar a rede aumentando a confiabilidade e a disponibilidade?

• Como desenvolver um sistema confiável em uma plataforma não confiável?

Page 8: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – TF x Depend.

• Tolerância a Falhas:– Localização e recuperação de falhas do sistema;– Chamados de sistemas redundantes;– Falsa impressão de que o sistema não falha!!!

• Dependabilidade:– Conceito mais atual;– Confiança que se pode ter em um sistema;

Page 9: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – Falha, Erro e Defeito

• Defeito:– Desvio da especificação;– Não pode ser tolerado;

• Erro:– Causador de defeito em potencial;

• Falha:– Causa física ou algoritmica do erro;

Page 10: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – Falha, Erro e Defeito

Page 11: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – Falha, Erro e Defeito

Page 12: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – Falha, Erro e Defeito

• Falhas são inevitáveis:– Componentes físicos envelhecem;– Projetos de software podem apresentar falhas

humanas;

• Defeitos são evitáveis:– Através de técnicas de tolerância a falhas;

Page 13: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – Falha, Erro e Defeito

• Exemplo:– Chip com defeito: falha;– Interpretação errada da informação: erro;– Negação de acesso ao usuário: defeito;

• Nem toda falha leva a um erro;

• Nem todo erro leva a um defeito;– Podem não aparecer durante a execução do

sistema;

Page 14: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Conceitos – Classificação das Falhas

Page 15: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Técnicas de Dependabilidade

Page 16: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Técnicas de Dependabilidade

Page 17: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Técnicas de Dependabilidade

Page 18: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Técnicas de Tolerância a Falhas

• Classificam-se em:– Técnicas de mascaramento;– Técnicas de detecção e reconfiguração;

• Mascaramento:– Usa redundância para mascarar o defeito;– É mais rápida;– Própria para tempo real;

Page 19: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Técnicas de Tolerância a FalhasDetecção e Reconfiguração

• Fase de Detecção:– Falha é detectada quando gerar um erro;

• Recuperação:– Coloca o sistema em um estado seguro;

• Localização:– Determina o componente falho (diagnóstico);

• Reconfiguração:– Elimina ou substitui o componente falho;

Page 20: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância da Informação

• Repete bits na transmissão:– Códigos de paridade;

– Técnicas de checksum;

• Detecta apenas erros simples;• Usado em componentes de hardware:

– Memórias e processadores;

– Redes de computadores;

Page 21: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância Temporal

• Torna redundante as informações no tempo;– Repete-se a computação no tempo;– Resultados diferentes indicam falhas;

• Usado onde o tempo não é crítico;

Page 22: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Passiva

• Faz mascaramento de falhas;

• Vários componentes executam a mesma tarefa;

• Resultado determinado por votação;

• Resultado obtido por maioria ou valor médio;

Page 23: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Passiva

Page 24: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Passiva

Page 25: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Ativa

• Técnicas de detecção, localização e reconfiguração;

Page 26: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Ativa

Page 27: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Ativa

• Funcionamento do módulo estepe:– Alimentado: minimiza a descontinuidade do

sistema;– Não alimentado: espete só começa a operar

quando necessário;

– Módulo não alimentado minimiza a vida útil do estepe;

Page 28: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Híbrida

• Baseado em votação:

• Módulo que descorda é desconectado;

• Estepe entra em seu lugar;

Page 29: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância HW - Híbrida

Page 30: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância Software

• Se a falha está no software, replicação de hardware é inútil;

• Solução: replicar o software:– Diversidade;– Blocos de recuperação;

Page 31: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância SW - Diversidade

• São implementadas diversas soluções em software;

• Resultado determinado por votação;

• Diversidade de versões;

• Diversidade de algoritmos;

Page 32: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância SW - Diversidade

Page 33: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância SW - Diversidade

• Problemas:– Aumento do custo de desenvolvimento;– Não há garantias de que o erro não esteja em

todas as versões;

Page 34: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância SW – Blocos de Recuperação• Semelhante à Diversidade;

• Réplica somente é usada em caso de falha;

• Software passa por teste de aceitação:– Programa é testado através de uma base de

testes;

Page 35: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Redundância SW – Blocos de Recuperação

Page 36: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos

• Sistema Distribuído:– Sistema altamente coordenado e transparente,

distribuído sobre uma rede de computadores;

• Características:– Heterogeneidade, Escalabilidade, Segurança...– Tolerância a Falhas;

Page 37: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Tipos de Falhas• Crash:

– Parada de um componente;– Perda de um estado interno;

• Omissão:– Componente não responde à requisições;

• Temporização:– Componente responde muito tarde ou muito

cedo;

Page 38: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Tipos de Falhas• Resposta:

– Componente produz respostas incorretas;

• Bizantinas (arbitrárias):– Comportamento imprevisível;

Page 39: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Tipos de Falhas

Page 40: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Técnicas – Ponto de Recuperação• Nodo tem um conjunto de checkpoints

Page 41: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Técnicas – Ponto de Recuperação• Checkpoint coordenado;

• Todos devem fazer rollback em conjunto;

• Garantia de estado consistente global;

• Solução complexa;

Page 42: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Técnicas – Replicação de Dados• Replica os dados por vários nodos;

• Modelo Primário-Backup:– Operações leitura: acessa apenas o primário;– Operações escrita: primário atualiza backup;– Quando primário falha, backup entra e ação;

Page 43: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

TF em Sistemas Distribuídos Técnicas – Replicação de Dados

Page 44: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Considerações Finais

• Cresce o número de aplicações que necessitam de alta disponibilidade e confiabilidade;

• Os sistemas tendem a ficar cada vez mais complexos;

Page 45: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Considerações Finais

• Tolerância a Falhas não garante um sistema livre de falhas;

• Ainda existem vários desafios para se obter maior dependabilidade;

Page 46: Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva.

Obrigado!Perguntas?

Contato:

Paulo Fernando da Silva

[email protected]