A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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 DAS – Departamento de Automação e Sistemas UFSC – Universidade Federal de Santa Catarina

2 14/01/2004LCMI - DAS - UFSC2 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

3 14/01/2004LCMI - DAS - UFSC3 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.

4 14/01/2004LCMI - DAS - UFSC4 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.

5 14/01/2004LCMI - DAS - UFSC5 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.

6 14/01/2004LCMI - DAS - UFSC6 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.

7 14/01/2004LCMI - DAS - UFSC7 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.

8 14/01/2004LCMI - DAS - UFSC8 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.

9 14/01/2004LCMI - DAS - UFSC9 Taxonomia de Segurança de Funcionamento Sistema: faltas, erros, falhas

10 14/01/2004LCMI - DAS - UFSC10 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.

11 14/01/2004LCMI - DAS - UFSC11 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.

12 14/01/2004LCMI - DAS - UFSC12 Classificação de Faltas Quanto mais restritiva o modelo de faltas assumido menor a complexidade do algoritmo distribuído considerado. Faltas Arbitrárias Faltas de Temporização Faltas de Valor Faltas de Omissão Faltas de Crash

13 14/01/2004LCMI - DAS - UFSC13 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.

14 14/01/2004LCMI - DAS - UFSC14 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.

15 14/01/2004LCMI - DAS - UFSC15 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.

16 14/01/2004LCMI - DAS - UFSC16 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.

17 14/01/2004LCMI - DAS - UFSC17 Tolerância a Faltas de Hardware Tratamento de Faltas: configuração dinâmica para tirar elementos faltosos. M2M2 Detecção de erros Saída Chave Entrada M1M1 Replicação Passiva (configuração dinâmica)

18 14/01/2004LCMI - DAS - UFSC18 Tolerância a Faltas de Hardware Tratamento de Faltas Saída Replicação Ativa (configuração estática) M3M3 Entrada M2M2 M1M1 Votador Ignora o elemento faltoso

19 14/01/2004LCMI - DAS - UFSC19 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.

20 14/01/2004LCMI - DAS - UFSC20 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 Voter EntradaSaída

21 14/01/2004LCMI - DAS - UFSC21 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 TA EntradaSaída

22 14/01/2004LCMI - DAS - UFSC22 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.

23 14/01/2004LCMI - DAS - UFSC23 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;

24 14/01/2004LCMI - DAS - UFSC24 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. Backups Checkpoints Primário Cliente

25 14/01/2004LCMI - DAS - UFSC25 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 Replicado Cliente

26 14/01/2004LCMI - DAS - UFSC26 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).

27 14/01/2004LCMI - DAS - UFSC27 Problemas Fundamentais Consenso: – Forma canônica do problema de acordo: Cada processo p i propõem um valor v i e todos devem decidir um mesmo valor v* {v i | 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.

28 14/01/2004LCMI - DAS - UFSC28 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?

29 14/01/2004LCMI - DAS - UFSC29 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

30 14/01/2004LCMI - DAS - UFSC30 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.

31 14/01/2004LCMI - DAS - UFSC31 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.

32 14/01/2004LCMI - DAS - UFSC32 Problemas Fundamentais Subordinado Traidor comandant e subordinad o 1 subordinad o 2 atacar ele disse retirada traidor Atacar ou retirada? Como satisfazer IC2? Resultado de Impossibilidade

33 14/01/2004LCMI - DAS - UFSC33 Problemas Fundamentais Comandante Traidor comandant e subordinad o 1 subordinad o 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

34 14/01/2004LCMI - DAS - UFSC34 Problemas Fundamentais comandant e subordinad o 1 subordinad o 3 subordinad o 2 v vv x x v v v v subordinado 1: (v,v,x) = v subordinado 2: (v,v,x) = v subordinado 3: traidor

35 14/01/2004LCMI - DAS - UFSC35 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.

36 14/01/2004LCMI - DAS - UFSC36


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google