Sistemas Tolerantes a Falhas: Conceitos e Técnicas

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Metodologia de testes Nome: Gustavo G. Quintão
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Introdução aos Sistemas de Informações Módulo 6
Requisitos dos SGBD Recuperação/Tolerância a Falhas
Sistemas operacionais
Barramentos Introdução.
Entrada e Saída Introdução.
Sistemas Distribuídos:Definições e Caracteristicas
Confiança.
Sistemas Distribuídos
Confiabilidade de Software
Tolerância a falhas Módulo 5 [C11,C15,T4.5] (65 p.)
Sistemas Críticos (Confiança)
Jaime Dalla Valle Junior
Sumário 1 SQL Embutida 2 Processamento de Consultas
Modelos e Arquitecturas de SD
Sistemas Distribuídos
Recovery Blocks Paulo Junior Penna Pivetta. Introdução Os Projetos de Tolerância a falhas quase que exclusivamente eram dedicado a hardware Tolerância.
Fabio Notare Martins Pontifícia Universidade Católica do Rio Grande do Sul Programa de Pós-Graduação em Ciências da Computação.
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Sistemas Distribuídos
Introdução aos conceitos de Teste de Software
Middleware e Sistemas Distribuídos
REDUNDÂNCIA POR SOFTWARE
(Reliability) UFRGS-GUARITA-FINEP Desenvolvido por: Pablo Diego Didoné
Sistemas de Detecção de Intrusão
Redundant Array of Independent Drives Raid
Agenda Memória Secundária RAID.
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Carlos Oberdan Rolim Ciência da Computação
Carlos Oberdan Rolim Ciência da Computação
Carlos Oberdan Rolim Ciência da Computação
Carlos Oberdan Rolim Ciência da Computação
Carlos Oberdan Rolim Ciência da Computação
Paulo Silva Tracker Segurança da Informação
Carlos Oberdan Rolim Ciência da Computação
Fiabilidade de Sistemas Informáticos
Tolerância a Falhas em Sistemas Distribuídos
Protocolos de Recuperação
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Distribuídos
BD Distribuído Conceitos Iniciais.
SGBD Distribuído Lílian Simão Oliveira.
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Técnicas de Replicação
Testes de Software AULA 02 Eduardo Silvestri
Testes de Software AULA 06 Eduardo Silvestri
Introdução a Teste de Software
Testes de Software AULA 03 Eduardo Silvestri
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
Sistemas Distribuídos
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Tolerância a Falhas Carlos Oberdan Rolim Ciência da Computação.
Conceitos de Monitoramento
Universidade Federal de Pernambuco
Sistemas Distribuídos Nadilma Nunes Aula Inicial – Apresentação da disciplina.
Sistemas Distribuídos
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
TÉCNICAS DE ESTIMATIVAS
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Prof. Ivair Teixeira Redes de Computadores.
Lucas R. Costa Rodrigo R. Bezerra Kaio A. da silva
Transcrição da apresentação:

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

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;

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;

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;

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;

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?

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;

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;

Conceitos – Falha, Erro e Defeito

Conceitos – Falha, Erro e Defeito

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;

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;

Conceitos – Classificação das Falhas

Técnicas de Dependabilidade

Técnicas de Dependabilidade

Técnicas de Dependabilidade

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;

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;

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;

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;

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;

Redundância HW - Passiva

Redundância HW - Passiva

Redundância HW - Ativa Técnicas de detecção, localização e reconfiguração;

Redundância HW - Ativa

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;

Redundância HW - Híbrida Baseado em votação: Módulo que descorda é desconectado; Estepe entra em seu lugar;

Redundância HW - Híbrida

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;

Redundância SW - Diversidade São implementadas diversas soluções em software; Resultado determinado por votação; Diversidade de versões; Diversidade de algoritmos;

Redundância SW - Diversidade

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;

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;

Redundância SW – Blocos de Recuperação

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;

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;

TF em Sistemas Distribuídos Tipos de Falhas Resposta: Componente produz respostas incorretas; Bizantinas (arbitrárias): Comportamento imprevisível;

TF em Sistemas Distribuídos Tipos de Falhas

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

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;

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;

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

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;

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;

Obrigado! Perguntas? Contato: Paulo Fernando da Silva paulofernando@furb.br