14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas...

36
14/01/2004 LCMI - DAS - UFSC 1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática DAS – Departamento de Automação e Sistemas UFSC – Universidade Federal de Santa Catarina

Transcript of 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas...

Page 1: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 1

Introdução à Segurança de Funcionamento e Tolerância a

Faltas

Alysson Neves BessaniLCMI - Laboratório de Controle e Microinformática

DAS – Departamento de Automação e Sistemas

UFSC – Universidade Federal de Santa Catarina

Page 2: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 2

Sumário

● Segurança de Funcionamento● Taxonomia de Segurança de Funcionamento● Tolerância a Faltas● Técnicas de Replicação● Problemas Fundamentais● Algumas Áreas de Pesquisa

Page 3: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 3

Segurança de Funcionamento

● Sistemas computacionais são artefatos frágeis, muitas vezes não fazem o que é esperado ou, quando fazem, em um momento inconveniente;– Mas qual a causa disso?

● Os computadores são sistemas complexos, feitos de diferentes componentes de hardware e software;

– Esses componentes interagem uns com os outros muitas vezes de forma imprevista pelo projetista do sistemas;

● Velha da lei da engenharia - Lei de Murphy:– Se a possibilidade de ocorrência de um perigo é negligenciada, ela

tende a ocorrer da pior maneira possível e no pior momento possível.

Page 4: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 4

Segurança de Funcionamento

● Conceito:– Segurança de funcionamento é a qualidade do serviço

fornecido de modo que os seus usuários possam depositar no mesmo uma confiança justificada.

– Um sistema é confiável (dependable) se tem uma alta probabilidade de proceder sua função de acordo com sua especificação;

● A completa especificação não deve ser limitada para o que o sistema faz, mas deve também especificar as condições ambientais requeridas para o sistema fornecer o serviço requerido.

Page 5: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 5

Segurança de Funcionamento

● Quando um procedimento do sistema viola sua especificação dizemos que ele falhou, mas o que leva um sistema à falha ? – Causas externas ou internas, chamadas de faltas.

● A falta pode permanecer adormecida (inativa) por um momento, até ser ativada.

● Exemplo: defeito em um registro de um sistema de arquivo que pode permanecer despercebido até ser ativado. O registro corrompido é um erro no estado do sistema que o levará a falha.

Page 6: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 6

Taxonomia de Segurança de Funcionamento

● Imperfeições: faltas, erros, falhas– Falta é a causa, no sentido fenomelógico, de um erro;– Um erro é a parte do estado do sistema (estado errôneo) que

pode conduzir a uma falha no sistema;– A falha de um sistema ocorre quando o serviço fornecido

desvia do serviço especificado. A falha é o efeito observado externamente do erro.

● Falha é sentida e/ou avaliada. ● Erro é detectado/recuperado. ● Falta é evitada ou tolerada.

Page 7: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 7

Taxonomia de Segurança de Funcionamento

● Falhas similares podem ser derivadas de erros completamente diferentes, exemplo:– Caractere estranho na tela:

● Rotina falha do sistema operacional;● Defeito da placa de vídeo.

● Também, erros podem ser causados por diferentes faltas, exemplo:– O erro do disco pode ser devido à falta física na

superfície do disco ou pode ser devido à defeito de fabricação do cabeçote.

Page 8: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 8

Taxonomia de Segurança de Funcionamento

● Origem das faltas:– Física: gerados por causas físicas (hardware);– Projeto: quando introduzidos na fase de projeto;– Interação: quando ocorrido nas interfaces entre os

componentes do sistema, ou na interface com o mundo exterior.

Faltas de projeto e algumas faltas de interação são causadas por falha humana.

Page 9: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 9

Taxonomia de Segurança de Funcionamento

● Sistema: faltas, erros, falhas

Page 10: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 10

Taxonomia de Segurança de Funcionamento

● Métodos de Validação da Segurança de Funcionamento– Remoção de faltas (verificação): métodos que

minimizam a presença de faltas. Consiste em detectar as faltas e remover eles antes que causem um erro, exemplo:

● Removendo bugs de software;● Detectando defeito de hardware.

– Previsão de faltas (avaliação): métodos de avaliação que estimam a presença de faltas e suas conseqüências.

Page 11: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 11

Taxonomia de Segurança de Funcionamento

● Métodos de Obtenção da Segurança de Funcionamento:– Prevenção de faltas: consiste de prevenir (por

construção) as causas dos erros, eliminando as condições para uma provável ocorrência de falta durante operação do sistema, exemplo:

● Usando componentes de alta qualidade;● Usando componentes com redundância interna.

– Tolerância a faltas: fornecimento do serviço de acordo com as especificações, mesmo em presença de uma ou mais faltas ativas, pelo uso de redundâncias.

Page 12: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 12

Classificação de Faltas

Quanto mais restritiva o modelo de faltas assumido menor a complexidade do algoritmo distribuído considerado.

Faltas Faltas ArbitráriasArbitrárias

Faltas de TemporizaçãoFaltas de Temporização

Faltas de Faltas de ValorValor

Faltas de OmissãoFaltas de Omissão

Faltas de Crash

Page 13: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 13

Tolerância a Faltas

● Objetivo: Mascarar falhas● Causas de falhas:

– Em hardware: razões físicas;– Em software: falhas de projeto.

● Confiabilidade:– Hardware: Muito confiável;– Software: Pouco confiável.

Page 14: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 14

Tolerância a Faltas

● Sistema Tolerante a Faltas é aquele que pelo uso de redundâncias mantém o serviço correto mesmo em presença de componentes faltosos;

● Redundâncias são partes do sistema que não seriam necessárias para o funcionamento do sistema se não ocorressem faltas no sistema:– Redundância de hardware;– Redundância de software;– Redundância de tempo.

● Nos sistemas atuais ocorrem os três tipos de redundâncias.

Page 15: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 15

Tolerância a Faltas de Hardware

● Fases da Tolerância a Faltas: Detecção de erros, Confinamento de erros, Recuperação de erros e Tratamento de faltas.– Detecção de erros: é a fase onde a presença de elementos

faltosos é deduzida pela constatação de um erro. São meios que possibilitam a prevenção de uma falha.

● Testes completos, testes de aceitação, testes independentes, internos, etc.

– Confinamento de erros: técnicas e mecanismos que delimitam os eventuais danos a um sistema devido à propagação de erros. Um erro se propaga através da interação de componentes do sistema.

● Barreiras incorporadas ao sistema em tempo de projeto.

Page 16: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 16

Tolerância a Faltas de Hardware

● Recuperação de erros: restauração da seqüência de estados corretos. Dois mecanismos que tratam erros: – Técnicas de processamento de erro:

● Recuperação em retrocesso (Backward recovery): coloca o sistema em um estado correto anterior. A partir deste estado recomeça o processamento;

● Recuperação em avanço (Forward recovery): usando o estado errôneo, coloca o sistema em um estado correto a frente. É importante em aplicações tempo-real (tal como um sistema de controle embarcado de um aeroplano).

– Mascaramento de erros:● Uso de réplicas ativas para que o componente faltoso seja mascarado em

seu comportamento.

Page 17: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 17

Tolerância a Faltas de Hardware● Tratamento de Faltas: configuração dinâmica

para tirar elementos faltosos.

M2

Detecção de erros

Saída

Chave

Entrada

M1

Replicação Passiva (configuração dinâmica)

Page 18: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 18

Tolerância a Faltas de Hardware

● Tratamento de Faltas

Saída

Replicação Ativa (configuração estática)

M3

Entrada M2

M1

Votador

Ignora o elemento faltoso

Page 19: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 19

Tolerância a Faltas de Software

● Hardware: replicação de componentes● Software: diversidade de projetos

– Programação N-versões;– Abordagem Bloco de Recuperação.

Page 20: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 20

Tolerância a Faltas de Software

● Programação N-versões: diferentes implementações de um mesmo algoritmo– Usando diferentes linguagens de programação para cada versão;– Usando diferentes compiladores e ambientes de suporte;– Usando diferentes algoritmos, se possível;– Usando diferentes times de desenvolvimento.

1

2

3

VoterEntrada Saída

Page 21: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 21

Tolerância a Faltas de Software

● Bloco de recuperação: o programa é dividido em blocos com pontos de recuperação em caso de falha detectado pelo teste de aceitação (TA).

2

3

Ponto de Recuperação

1 TAEntrada Saída

Page 22: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 22

Tolerância a Faltas em Sistemas Distribuídos

● Desenvolvimento de aplicações confiáveis:– Permitir que serviços sejam oferecidos continuamente mesmo em

presença de falhas parciais no sistema;● Técnicas de replicação:

– Fazer várias cópias (réplicas) de um mesmo servidor de tal forma que na falhas de um deles, outro possa tomar seu lugar;

– Suporte de grupo:● Protocolos de difusão de mensagem (multicast):

– Atomicidade e ordenação das mensagens;– Estado consistente entre as réplicas.

● Gerenciamento de grupo (membership): – Gerenciamento dinâmico dos membros;– Mecanismos de detecção de falhas.

Page 23: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 23

Técnicas de Replicação

● É uma maneira usual para alcançar tolerância a faltas em sistemas distribuídos:– Melhorar a confiabilidade do sistema;– Aumentar a disponibilidade dos recursos.

● Podem ser classificadas em duas abordagens básicas:– Replicação passiva;– Replicação ativa;

Page 24: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 24

Técnicas de Replicação

● Replicação passiva:– Somente um membro (o primário) recebe, executa e responde

as invocações dos clientes;– As réplicas restantes do grupo (os backups) têm a função de

substituir o primário caso este falhe.

BackupsBackups

CheckpointCheckpointss

PrimárioPrimárioClienteCliente

Page 25: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 25

Técnicas de Replicação

● Replicação ativa:– Todos os membros recebem, executam e respondem as

invocações dos clientes;– Combinando com outros mecanismos é capaz de tolerar todas

classes de falhas.

Grupo Grupo ReplicadoReplicado

ClienteCliente

Page 26: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 26

Técnicas de Replicação

● A replicação ativa requer uma primitiva de difusão atômica (confiável e com ordem total);

– Este tipo de primitiva não pode ser implementado em sistemas assíncronos (sem garantias temporais).

● Existem vários esquemas mistos de replicação que misturam essas duas técnicas;

● Considerações:

– A replicação ativa requer um número maior de recursos;

– A replicação passiva tem um failover (tempo de espera para recuperação em caso de falhas) maior.

● Dois exemplos de produtos: zSeries (IBM) e NonStop (HP).

Page 27: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 27

Problemas Fundamentais

● Consenso:– Forma canônica do problema de acordo:

● Cada processo pi propõem um valor vi e todos devem decidir um mesmo valor v* {vi| i=1..n};

– Primitivas básicas:● propose(v): propõem um valor v;● decide(v): decide um valor v;

– Através da abstração do consenso é possível se construir quase todas as primitiva de acordo em S.D.

Page 28: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 28

Problemas Fundamentais

● Consenso:– Especificação (propriedades):

● Terminação: Cada processo correto decide algum valor;● Validade: Se um processo decide v, então v foi proposto

por algum processo;● Acordo: Se um processo correto decide v, então todos os

processos corretos decidem v;

– Infelizmente, o consenso não pode ser resolvido por algoritmos deterministas em sistemas assíncronos:

● Resultado FLP: como garantir terminação?

Page 29: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 29

Problemas Fundamentais

v = ?

v = 0

v = 1

p1

p2

p3

Como saber se p3 é lento ou falhou?

Terminação Indecidível!

Impossibilidade de Consenso em Sistemas Assíncronos

Page 30: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 30

Problemas Fundamentais

● Problema dos Generais Bizantinos:– Um grupo de n generais bizantinos estão acampados

ao redor da cidade inimiga;– Depois de observar o inimigo os generais devem

decidir um plano de ação comum;– Alguns dos generais podem ser traidores (t);– Todos os generais podem se comunicar com todos os

outros;– O problema dos generais bizantinos pode ser

resolvido através de uma série de acordos bizantinos.

Page 31: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 31

Problemas Fundamentais

● Acordo Bizantino:– Considere n generais, sendo um deles o comandante.

O comandante precisa enviar uma ordem para os n-1 subordinados de tal forma que:

● IC1: Todos os subordinados leais obedecem a mesma ordem;

● IC2: Se o comandante é leal, então todos os generais subordinados leais obedecem a ordem enviada por ele.

– As condições IC1 e IC2 são chamadas condições de consistência iterativa.

Page 32: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 32

Problemas Fundamentais

Subordinado Traidor

comandante

subordinado 1

subordinado 2

atacar atacar

ele disse ‘retirada’

traidor

Atacar ou retirada? Como satisfazer IC2?

Resultado de Impossibilidade

Page 33: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 33

Problemas Fundamentais

Comandante Traidor

comandante

subordinado 1

subordinado 2

atacar retirada

ele disse ‘retirada’

traidor

Nos dois casos o subordinado 1

não sabe quem é o traidor e nem qual das ordens

seguir.

Atacar ou retirada? Como satisfazer IC1?

Resultado de Impossibilidade

Page 34: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 34

Problemas Fundamentais

comandante

subordinado 1

subordinado 3

subordinado 2

vvv

x

x

vv

v

v

subordinado 1: (v,v,x) = vsubordinado 2: (v,v,x) = vsubordinado 3: traidor

Page 35: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 35

Algumas Áreas de Pesquisa

● Middleware: Web Services e J2EE;● Relação entre tolerância a faltas e segurança;● Tolerância a Intrusões;● Tolerância a faltas em novos modelos de sistemas distribuídos:

– P2P (Peer-to-Peer);– Sistemas móveis;– Grades computacionais.

● Do ponto de vista teórico...– Consenso;– Memória compartilhada;– Computação com infinitos processos.

Page 36: 14/01/2004LCMI - DAS - UFSC1 Introdução à Segurança de Funcionamento e Tolerância a Faltas Alysson Neves Bessani LCMI - Laboratório de Controle e Microinformática.

14/01/2004 LCMI - DAS - UFSC 36