Fundamentos de Tolerância a Falhas. Graduação: CIC e ECP Taisy Silva Weber 2002



Documentos relacionados
Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas

Um roteiro para exploração dos conceitos básicos de tolerância a falhas

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Arquitetura dos Sistemas de Informação Distribuídos

Miguel Cardoso Júnior, Nilo Sérgio de Lima Barros e Silva tenalcardoso@esaex.mil.br, nilo_barros@terra.com.br

Desenvolvimento de Sistemas Tolerantes a Falhas

Módulo 4 DISPONIBILIDADE E CONFIABILIDADE DE ATIVOS DE TRANSPORTES

SEGURANÇA A E CONTROLE EM SISTEMAS DE INFORMAÇÃO

SISTEMAS DISTRIBUÍDOS

Motivos para você ter um servidor

Resumo. Introdução Classificação Fases Curiosidades

Considerações no Projeto de Sistemas Cliente/Servidor

O que é Gerenciamento de Redes de Computadores? A gerência de redes de computadores consiste no desenvolvimento, integração e coordenação do

A Gerência em Redes de Computadores

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

SEGURANÇA E CONTROLE EM SISTEMAS DE INFORMAÇÃO

Gerenciamento de Incidentes

Tolerância a Falhas 1

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

*Os usuários devem possuir um CMA ou um Resource Manager registrado de modo a ativar as capacidades de geração de relatórios.

REDES DE COMPUTADORES

SISTEMA GERENCIADOR DE BANCO DE DADOS

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Características Carlos Ferraz

Introdução ao Modelos de Duas Camadas Cliente Servidor

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 2- Aplicações distribuídas e TI VERDE

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Aula 03-04: Modelos de Sistemas Distribuídos

Tabela de roteamento

SISTEMAS DISTRIBUIDOS

Sistemas Distribuídos

ITIL V3 (aula 2) AGENDA: GERENCIAMENTO DE INCIDENTE GERENCIAMENTO DE PROBLEMA

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Software para Sistemas Críticos

Sistemas Distribuídos (DCC/UFRJ)

Gerência de Redes NOC

Sistemas Distribuídos

Engenharia de Software II

Tópicos Especiais em Redes de Telecomunicações

Arquiteturas tolerantes a falhas. Taisy Silva Weber UFRGS

Engenharia de Requisitos

Verificação e Validação

SISTEMAS DISTRIBUÍDOS

Evolução na Comunicação de

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Aula 01 Introdução ao Gerenciamento de Redes

EVOLUÇÃO DE SOFTWARE

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Projeto de Arquitetura

Tolerância a Faltas. 8/28/2003 José Alves Marques. Sistema Computacional

Engenharia Reversa e Reengenharia

Air-Fi - sistema sem fio Sinta-se confortável com a confiança e o desempenho líderes do setor.


Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Sistemas Distribuídos

Gerenciamento e Interoperabilidade de Redes

Falha benigna. Sistema. Sistema Próprio. Interrompido. Restauração. Falha catastrófica. Falha catastrófica. Sistema. Impróprio

Sistemas Operacionais

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Sistemas Distribuídos

Sistemas Distribuídos Grupos

Processo de Desenvolvimento de Software

GARANTIA DA QUALIDADE DE SOFTWARE

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Teste de Software. Profa. Cátia dos Reis Machado

Gerência de Redes. Arquitetura de Gerenciamento.

Acordo de Nível de Serviço (SLA)

1

Administração de Sistemas de Informação Gerenciais

Sistemas Distribuídos. Introdução

Padrões Arquiteturais e de Integração - Parte 1

IW10. Rev.: 02. Especificações Técnicas

Comparação SDs X Scs

Gerenciamento de Problemas

Modelo para Documento de. Especificação de Requisitos de Software

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Projeto de Arquitetura

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Sistemas de Gerenciamento de Banco de Dados

3. Cite o nome e características do ponto mais alto e do ponto mais baixo de uma onda?

Prof. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

ENGENHARIA CONFIABILIDADE DE SOFTWARE

Unidade 13: Paralelismo:

Chamada de Participação V Competição de Avaliação - IHC 2012

Transcrição:

Fundamentos de Tolerância a Falhas Graduação: CIC e ECP Taisy Silva Weber 2002

Bibliografia básica Pradhan, D. K. Jalote, P. Fault-Tolerant System Design. Prentice Hall, New Jersey, 1996. Fault tolerance in distributed systems. Prentice Hall, Englewood Cliffs, New Jersey, 1994. Birman, K. Building secure and reliable network applications. Manning Publications Co, Geenwich, 1996 Notas de aula disponível para download http://www.cs.cornell.edu/ken/book.pdf Taisy Weber 2

Conteúdo da disciplina Conceitos básicos de tolerância a falhas atributos e medidas: dependabilidade, confiabilidade, disponibilidade e outros redundância aplicações de TF Arquiteturas tolerantes a falhas TF em sistemas distribuídos Difusão confiável e de grupo. Recuperação de processos. Replicação de dados. Validação. arquiteturas convencionais, servidores de rede, clusters de alta disponibilidade Taisy Weber 3

Motivação para tolerância a falhas capacidade de manter o serviço desejado mesmo na presença de falhas componentes de hardware cada vez mais confiáveis ENTRETANTO software e projeto cada vez menos confiáveis sistemas cada vez mais complexos EXEMPLO falha de projeto na FPU do Pentium evitar que o usuário do serviço seja o componente tolerante a falhas do sistema Taisy Weber 4

Desafios atuais bugs no projeto de hardware e software altíssima complexidade dos sistemas paralelismo em alta escala uso de novas tecnologias (não provadas) sistemas distribuídos para sistemas críticos para operação em tempo real computadores móveis baixa potência difícil usar replicação de componentes Taisy Weber 5

Dependabilidade vs desempenho dependabilidade sistemas ultra confiáveis sistemas comerciais tolerantes a falhas objetivo PC sistemas altamente paralelos e sistemas distribuídos 1 10 100 1000 10000 100000 desempenho Taisy Weber 6

Dependability of Computer Systems: from Concepts to Limits Jean-Claude Laprie - DCIA 98 Causas de defeitos Sistemas tradicionais Redes cliente-servidor Não tolerante a falhas Tolerante a falhas (não tolerantes a falhas) MTBF: 6 a 12 semanas Indisponibilidade após defeito: 1 a 4 h MTBF: 21 anos (Tandem) Disponibilidade média: 98% Defeitos: Defeitos: Defeitos: hardware 50% software 65% projeto 60% software 25% operações 10% operações 24% operações 10% hardware 8% físicos 16% comunicações / ambiente 15% ambiente 7% Causas usuais de defeitos em sistemas de computação http://www.cs.wits.ac.za/research/workshop/ifip98.html Taisy Weber 7

Tópicos nesse item: Falha, erro, defeito Falhas Dependabilidade Atributos de dependabilidade Exemplos de áreas de aplicação Técnicas de TF Taisy Weber 8

Conceitos básicos falha, erro e defeito atributos dependabilidade, confiabilidade, disponibilidade e outros redundância aplicações de TF Barry Johnson, cap. 1, livro do Pradhan conceitos básicos podem ser encontrados também em livros de sistemas operacionais, redes, arquitetura de computadores, sites de fabricantes de soluções de alta disponibilidade e da NASA, além de grande número de artigos (Laprie, Avizienis, Cristian, Schneider, Siewiorek, Nelson, Rennels ) Taisy Weber 9

Falha, erro ou defeito? estado errôneo (ou erro) se processamento posterior pode levar a defeito falha causa física ou algorítmica do erro falhas podem ser toleradas, defeitos não fault error failure falha (falta) erro defeito falta erro falha (tolerância a falta) usado nessa disciplina alguns grupos no Brasil usam a última terminologia Taisy Weber 10

Falha versus erro subsistema falha erro defeito falha sistema Taisy Weber 11

falha (falta) erro defeito universo da informação processamento posterior pode levar a defeito universo físico falha erro defeito universo do usuário desvio da especificação Taisy Weber 12

Latência latência de falha período de tempo desde a ocorrência da falha até a manifestação do erro devido aquela falha latência de erro período de tempo desde a ocorrência do erro até a manifestação do defeito devido aquele erro falha erro defeito latência de falha latência de erro Taisy Weber 13

Falhas falhas físicas permanentes temporárias humanas falhas de projeto interação intermitentes transitórias intencionais não intencionais confiabilidade sempre foi um problema de engenharia, assim falhas físicas, que afetam diretamente o hardware, tradicionalmente vem recebendo atenção especial falhas são inevitáveis Taisy Weber 14

Causas de falhas problemas de especificação problemas de implementação componentes defeituosos imperfeições de manufatura fadiga distúrbios externos radiação, interferência eletromagnética, variações ambientais (temperatura, pressão, umidade), problemas de operação falhas são inevitáveis Taisy Weber 15

Descrição de falhas natureza falha de hardware, falha de software, etc.. duração permanente ou temporária extensão local a um módulo, global valor determinado ou indeterminado no tempo Taisy Weber 16

Objetivo de TF alcançar dependabilidade dependabilidade (dependability) qualidade do serviço fornecido por um dado sistema confiança no serviço fornecido atributos (medidas): adiante veremos mais detalhes sobre medidas confiabilidade, disponibilidade, segurança (safety), mantenabilidade, testabilidade, performability, etc segurança (security) também é considera por alguns autores como atributo de dependabilidade Taisy Weber 17

Confiabilidade reliability: capacidade de atender à especificação dentro de condições definidas durante certo período de funcionamento condicionado a estar operacional no início do período falha é um fenômeno aleatório probabilidade que um sistema funcione corretamente durante um intervalo de tempo [t0,t] probabilidade condicional R(t) = P {X > t} X = tempo sem falhas de um sistema t = tempo de funcionamento ou duração da missão depende do sistema estar operacional em t0 Taisy Weber 18

Confiabilidade mais usada como medida em: sistemas em que mesmo curtos períodos de operação incorreta são inaceitáveis sistemas em que reparo é impossível exemplos: aviação intervalo de tempo: 10 a 12 horas exploração espacial intervalo de tempo: 10 anos Taisy Weber 19

Disponibilidade availability probabilidade do sistema estar operacional no instante de tempo t alternância de períodos de funcionamento e reparo desde que esses períodos sejam curtos um sistema pode ser altamente disponível mesmo apresentando períodos de inoperabilidade disponibilidade e confiabilidade são os atributos mais conhecidos e usados, muitas vezes aparecem como sinônimos de dependabilidade Taisy Weber 20

probabilidade do sistema: ou de estar operacional e executar sua função corretamente Segurança ou de descontinuar suas funções de forma a não provocar dano a outros sistema ou pessoas que dele dependam medida da capacidade fail-safe do sistema não está relacionado diretamente a security atributo usual na área de controle de processos industriais e de transporte safety Taisy Weber 21

Outros atributos performability relacionado a queda de desempenho provocada por falhas mantenabilidade facilidade de realizar a manutenção do sistema probabilidade que um sistema com defeitos seja restaurado a um estado operacional dentro de um período t testabilidade capacidade de testar certos atributos internos ao sistema facilidade de realizar certos testes relacionada a mantenabilidade sistema continua a operar, mas com queda de desempenho Taisy Weber 22

Performability relacionado a queda de desempenho provocada por falhas sistema continua a operar, mas com queda de desempenho P(L,t) graceful degradation: degradação suave ou degradação gradual probabilidade que o desempenho do sistema seja no mínimo L no instante de tempo t Taisy Weber 23

Mantenabilidade facilidade de realizar a manutenção do sistema quantitativamente: probabilidade que um sistema com defeitos seja restaurado a um estado operacional dentro de um período t restauração localização do problema reparo físico colocação em operação Taisy Weber 24

Testabilidade capacidade de testar certos atributos internos ao sistema facilidade de realizar certos testes relacionada a mantenabilidade a testabilidade aumenta a mantenabilidade testes: manuais automáticos Taisy Weber 25

Aplicações de FT longa vida satélites e sondas espaciais: probabilidade de 0,95 de estar operacional após 10 anos de missão, freqüentemente permitem ser reconfigurados manualmente por operador manutenção adiada computação crítica alta disponibilidade manutenção é ou impossível ou extremamente cara: lugares remotos ou só acessíveis periodicamente, aplicações espaciais Taisy Weber 26

Computação crítica aplicações críticas: segurança humana, proteção de equipamento ou segurança do meio ambiente áreas: controle de tráfego aéreo sistemas militares controle de plantas industriais exemplos: Space Shuttle controladores industriais programáveis freqüentemente de tempo real Taisy Weber 27

Alta disponibilidade aplicações que exigem alta disponibilidade: transações financeiras e comerciais sistemas de reservas internacionais aplicações na Internet (e-comerce) exemplos: clássicos Tandem Nonstop & Stratus atuais servidores de redes & HA-clusters sistemas on-line, não confundir com tempo real aparecem freqüentemente com o nome de sistemas de missão crítica Taisy Weber 28

Técnicas para alcançar dependabilidade a dependabilidade de um sistema depende de decisões de projeto desse sistema para alcançar dependabilidade (ou seja para alcançar os atributos de dependabilidade) é necessário o emprego de técnicas de projeto adequadas nem todas as técnicas estão relacionadas a TF por exemplo: bons componentes podem levar a uma boa confiabilidade dos sistema existem inúmeras técnicas, algumas que interessam nossa área são mencionadas a seguir Taisy Weber 29

Técnicas: validação dependabilidade validação prevenção tolerância a falhas remoção previsão estimar presença de falhas e suas conseqüências verificar a presença de falhas e removê-las Taisy Weber 30

Técnicas: prevenção dependabilidade validação prevenção tolerância a falhas remoção previsão evitar introduzir falhas durante projeto e construção do sistema não resolve problemas críticos de confiabilidade seleção de metodologias de projeto e tecnologia apropriada Taisy Weber 31

Técnicas: tolerância a falhas dependabilidade validação prevenção tolerância a falhas remoção previsão fornecer serviço esperado mesmo na presença de falhas mascaramento de falhas, detecção de falhas, localização, confinamento, recuperação, reconfiguração, tratamento Taisy Weber 32

Técnicas para alcançar dependabilidade dependabilidade remoção validação verificar presença de falhas e remover previsão estimar presença de falhas e suas conseqüências prevenção evitar introduzir falhas durante projeto e construção do sistema tolerância a falhas fornecer serviço esperado mesmo na presença de falhas Taisy Weber 33

Técnicas de TF prevenção e remoção de falhas não são suficientes: quando o sistema exige alta confiabilidade, ou alta disponibilidade técnicas de TF exigem componentes adicionais algoritmos especiais redundância Taisy Weber 34

Técnicas de TF mascaramento ou falhas são mascaradas e não chegam a provocar defeito no universo físico: falha detecção, localização e recuperação no universo da informação: erro ou erros (ou falhas) devem ser inicialmente detectados o sistema entra em um estado de tratamento de exceção até poder voltar a operação normal também aparece como detecção e correção Taisy Weber 35

Classificação 4 fases (Anderson & Lee): detecção confinamento e avaliação recuperação tratamento da falha tratamento recuperação confinamento e avaliação detecção outra classificação primeira fase detecção, diagnóstico, confinamento, mascaramento, compensação Taisy Weber 36

Detecção duplicação e comparação testes de limites de tempo time-out, cão de guarda (watchdog timers) testes reversos codificação teste de razoabilidade limites ou compatibilidades testes estruturais consistência diagnóstico tratamento recuperação confinamento e avaliação detecção Taisy Weber 37

Duplicação e comparação 2 módulos idênticos de hardware resultado mesmos dados de entrada COMPARADOR erro mesmo clock ponto crítico de falha (single point of failure) comparador em software ou hardware? Taisy Weber 38

Duplicação e comparação: software leitura escrita resultado de B processador A COMPARAÇÃO detecção memória local de A resultado de A memória compartilhada resultado de A processador B COMPARAÇÃO SINAL DE ERRO memória local de B resultado de B SINAL DE ERRO Taisy Weber 39

Confinamento e avaliação de danos latência de falha pode provocar espalhamento de dados inválidos confinamento ocorrência de falha até erro (detectado) estabelece limites para a propagação do dano confinamento e avaliação dependem de decisões de projeto do sistema facilitam detecção e recuperação, mas não são obrigatórias tratamento recuperação confinamento e avaliação detecção Taisy Weber 40

confinamento: Mecanismos de confinamento e avaliação restrições ao fluxo de informações evitar fluxos acidentes estabelecer interfaces de verificação para detecção de erros avaliação dos danos: estática: projeto inicial e hardware dinâmica: execução e software Taisy Weber 41

Exemplos ações atômicas operações primitivas auto encapsuladas sem efeitos secundários isolamento de processos tudo que não é permitido é proibido hierarquia de processos clareza conceitual controle de recursos Taisy Weber 42

Recuperação de erros troca do estado atual incorreto para um estado livre de falhas pode ser um estado anterior, livre de falhas, do sistema pode ser um novo estado em último caso, pode ser o estado inicial tratamento recuperação ocorre após detecção confinamento e avaliação detecção Taisy Weber 43

Recuperação dois grupos retorno os dois grupos são compatíveis condução a estado anterior estado anterior P rollback falha avanço condução a novo estado P falha avanço novo estado Taisy Weber 44

Avanço forward error recovery condução a novo estado consistente ainda não ocorrido desde a última manifestação de erro eficiente, mas específica a cada sistema danos devem ser previstos acuradamente mais usadas em sistemas de tempo real, onde o retorno para um estado anterior (no tempo) seja inviável Taisy Weber 45

Retorno backward error recovery condução a estado anterior consistente alto custo mas de aplicação genérica exemplo de técnica de recuperação por retorno pontos de verificação (checkpoints) mais simples salvamento de todo o estado do sistema periodicamente Taisy Weber 46

Recuperação simples em um único processo complexa em processamento distribuído usualmente retroativa (de retorno) pode provocar efeito dominó retorno ao início do processamento problema com mensagens órfãs e perdidas solução restrições a comunicação entre processos mais sobre órfãs e perdidas quando estudarmos sistemas distribuídos Taisy Weber 47

Tratamento de falhas localizar a origem do erro (falha) localizar a falha de forma precisa reparar a falha recuperar o restante do sistema lembrar diferenças entre falhas permanentes e temporárias hipótese de falha uma única falha de cada vez tratamento recuperação confinamento e avaliação detecção Taisy Weber 48

Localização da falha duas fases: localização grosseira (módulo ou subsistema) deve ser rápida localização fina reparos de menor custo diagnóstico para localização da falha manual automático (componentes livres de falha são responsáveis pela execução do teste) Taisy Weber 49

Reparo da falha remoção do componente defeituoso manual ou automática automática degradação suave: reconfiguração para operação com menor número de componentes auto-reparo: substituição imediata por componente disponível no sistema Taisy Weber 50

Auto-reparo substituição automática sistemas com longo período de missão sem possibilidade de reparo manual aplicação de redundância de componentes redundância dinâmica redundância híbrida redundância auto-eliminadora todos esses tipos de redundância serão vistos a seguir Taisy Weber 51

Bibliografia para conceitos básicos capítulo de livro artigos livros Johnson, Barry. An introduction to the design na analysis of the faulttolerante systems, cap 1. Fault-Tolerant System Design. Prentice Hall, New Jersey, 1996 Avizenis. The four-universe information system model for the study of faulttolerance, FTCS 1982 Laprie, Jean-Claude. Dependable Computing: Concepts, Limits, Challenges. FTCS, 1995 Jean-Claude Laprie - Dependability of Computer Systems: from Concepts to Limits. DCIA 98, http://www.cs.wits.ac.za/research/workshop/ifip98.html Birman, K. Building secure and reliable network applications. Manning Publications Co, Geenwich, 1996 Taisy Weber 52