Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAlexandre Martha Alterado mais de 9 anos atrás
1
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
FURB – DSC Paulo Fernando da Silva
2
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
3
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;
4
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;
5
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;
6
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;
7
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?
8
Conceitos – TF x Depend. Tolerância a Falhas: Dependabilidade:
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;
9
Conceitos – Falha, Erro e Defeito
Desvio da especificação; Não pode ser tolerado; Erro: Causador de defeito em potencial; Falha: Causa física ou algoritmica do erro;
10
Conceitos – Falha, Erro e Defeito
11
Conceitos – Falha, Erro e Defeito
12
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;
13
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;
14
Conceitos – Classificação das Falhas
15
Técnicas de Dependabilidade
16
Técnicas de Dependabilidade
17
Técnicas de Dependabilidade
18
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;
19
Técnicas de Tolerância a Falhas
Detecçã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;
20
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;
21
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;
22
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;
23
Redundância HW - Passiva
24
Redundância HW - Passiva
25
Redundância HW - Ativa Técnicas de detecção, localização e reconfiguração;
26
Redundância HW - Ativa
27
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;
28
Redundância HW - Híbrida
Baseado em votação: Módulo que descorda é desconectado; Estepe entra em seu lugar;
29
Redundância HW - Híbrida
30
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;
31
Redundância SW - Diversidade
São implementadas diversas soluções em software; Resultado determinado por votação; Diversidade de versões; Diversidade de algoritmos;
32
Redundância SW - Diversidade
33
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;
34
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;
35
Redundância SW – Blocos de Recuperação
36
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;
37
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;
38
TF em Sistemas Distribuídos Tipos de Falhas
Resposta: Componente produz respostas incorretas; Bizantinas (arbitrárias): Comportamento imprevisível;
39
TF em Sistemas Distribuídos Tipos de Falhas
40
TF em Sistemas Distribuídos Técnicas – Ponto de Recuperação
Nodo tem um conjunto de checkpoints
41
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;
42
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;
43
TF em Sistemas Distribuídos Técnicas – Replicação de Dados
44
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;
45
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;
46
Obrigado! Perguntas? Contato: Paulo Fernando da Silva
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.