Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fundamentos de Tolerância a Falhas CIC e ECP Taisy Silva Weber 2005 Taisy Weber 2 Bibliografia básica Pradhan, D. K. Fault-Tolerant System Design. Prentice Hall, New Jersey, 1996 Jalote, P. Fault tolerance in distributed systems. Prentice Hall, Englewood Cliffs, New Jersey, 1994. Notas de aula – ver página da disciplina Artigos selecionados Taisy Weber 3 Conteúdo da disciplina Conceitos básicos de tolerância a falhas atributos e medidas: dependabilidade, confiabilidade, disponibilidade e outros redundância Arquiteturas tolerantes a falhas Servidores de alta disponibilidade, computadores de alta disponibilidade, sistemas de controle embarcados Sistemas distribuídos Comunicação de grupo. Recuperação de processos. Replicação de dados e processos. Clusters e Grids de alta disponibilidade Validação experimental Taisy Weber 4 Motivação para tolerância a falhas componentes de hardware cada vez mais confiáveis ENTRETANTO software e projeto cada vez menos confiáveis sistemas cada vez mais complexos EXEMPLO erros de projeto em microprocessadores capacidade de manter o serviço desejado mesmo na presença de falhas evitar que o usuário do serviço seja o componente tolerante a falhas do sistema Taisy Weber 5 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 e sistemas de missão crítica para operação em tempo real computadores móveis baixa potência difícil usar replicação de componentes Taisy Weber 6 Dependabilidade vs desempenho 1 10 100 1000 10000 100000 sistemas ultra confiáveis sistemas comerciais tolerantes a falhas sistemas altamente paralelos e sistemas distribuídos desempenho de pe nd ab ili da de PC objetivo Taisy Weber 7 Causas de defeitos Sistemas tradicionais Não tolerante a falhas Tolerante a falhas Redes cliente-servidor (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 Dependability of Computer Systems: from Concepts to Limits Jean-Claude Laprie - DCIA 98 http://www.cs.wits.ac.za/research/workshop/ifip98.html http://www.cs.wits.ac.za/research/workshop/ifip98.html Taisy Weber 8 Tópicos nesse item: Falha, erro, defeito Falhas Dependabilidade Atributos de dependabilidade Exemplos de áreas de aplicação Técnicas de TF Taisy Weber 9 Conceitos básicos falha, erro e defeito atributos dependabilidade, confiabilidade, disponibilidade e outros redundância aplicações de TF Barry Johnson, cap. 1, ed. Pradhan conceitos básicos encontrados também em livros de sistemas operacionais, redes, arquitetura, sites de fabricantes de alta disponibilidade e da NASA, além de grande número de artigos (Laprie, Avizienis, Nelson, Cristian, Schneider, Siewiorek,, Rennels…) Taisy Weber 10 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) alguns grupos no Brasil usam a última terminologia usado nessa disciplina Taisy Weber 11 Falha versus erro falha erro defeito falha subsistema sistema Taisy Weber 12 falha (falta) → erro → defeito universo físico universo da informação erro defeito desvio da especificação falha processamento posterior pode levar a defeito universo do usuário causa física ou algorítmica do erro modelo de 3 universos: uma simplificação do modelo de 4 universos de Avizienis falhas podem ser toleradas, defeitos não Taisy Weber 13 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 erro defeito falha latência de falha latência de erro Taisy Weber 14 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, vem tradicionalmente recebendo atenção especial falhas são inevitáveis security Taisy Weber 15 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 16 Falhas: classificação falhas físicas permanentes temporárias humanas falhas de projeto interação intermitentes transitórias intencionais não intencionais 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 17 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): confiabilidade, disponibilidade, segurança (safety), mantenabilidade, testabilidade, performability, etc… segurança (security) também é considera por alguns autores como atributo de dependabilidade adiante veremos mais detalhes sobre medidas Ricardo Duarte Note Dependabilidade = Fidedigindade Taisy Weber 18 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 probabilidade que um sistema funcione corretamente durante um intervalo de tempo [t0,t] probabilidade condicional Falha é um fenômeno aleatório depende do sistema estar operacional em t0 Taisy Weber 19 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 20 Disponibilidade availability probabilidade do sistema estar operacional no instante de tempo t alternância de períodos de funcionamento e reparo um sistema pode ser altamente disponível mesmo apresentando períodos de inoperabilidade desde que esses períodos sejam curtos disponibilidade e confiabilidade são os atributos mais conhecidos e usados, muitas vezes aparecem como sinônimos de dependabilidade Taisy Weber 21 Segurança safety probabilidade do sistema: ou de estar operacional e executar sua função corretamente 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 Taisy Weber 22 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 dentro de um período t testabilidade capacidade de testar certos atributos internos facilidade de realizar certos testes relacionada a mantenabilidade sistema continua a operar, mas com queda de desempenho Taisy Weber 23 Aplicações de FT longa vida manutenção adiada computação crítica alta disponibilidade satélites e sondas espaciais: probabilidade de 0,95 de estar operacional após 10 anos de missão, freqüentemente permitem ser reconfiguradosmanualmente por operador manutenção é ou impossível ou extremamente cara: lugares remotos ou só acessíveis periodicamente, aplicações espaciais Taisy Weber 24 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 25 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 26 Técnicas para alcançar dependabilidade dependabilidade de um sistema depende de decisões de projeto desse sistema para alcançar dependabilidade (ou 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 27 Técnicas: validação dependabilidade validação remoção prevenção previsão tolerância a falhas verificar a presença de falhas e removê-las estimar presença de falhas e suas conseqüências Taisy Weber 28 Técnicas: prevenção dependabilidade validação remoção prevenção previsão tolerância a falhas evitar introduzir falhas durante projeto e construção do sistema seleção de metodologias de projeto e tecnologia apropriadanão resolve problemas críticos de confiabilidade Taisy Weber 29 Técnicas: tolerância a falhas dependabilidade validação remoção prevenção previsão tolerância a falhas 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 30 Técnicas para alcançar dependabilidade dependabilidade validação remoção prevenção tolerância a falhas previsão verificar presença de falhas e remover estimar presença de falhas e suas conseqüências evitar introduzir falhas durante projeto e construção do sistema fornecer serviço esperado mesmo na presença de falhas Taisy Weber 31 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 32 Técnicas de TF mascaramento falhas são mascaradas e não chegam a provocar defeito detecção, localização e recuperação 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 ou no universo físico: falha no universo da informação: erro também aparece como detecção e correção Taisy Weber 33 Classificação 4 fases (Anderson & Lee): detecção confinamento e avaliação recuperação tratamento da falha outra classificação detecção, diagnóstico, confinamento, mascaramento, compensação tratamento recuperação detecção confinamento e avaliação primeira fase Taisy Weber 34 Detecção duplicação e comparação codificação testes: testes de limites de tempo time-out, cão de guarda (watchdog timers) testes reversos teste de limites ou compatibilidade testes estruturais e de consistência diagnóstico detecção confinamento recuperação tratamento Taisy Weber 35 Duplicação e comparação detecção 2 módulos idênticos de hardware COMPARADOR ponto crítico de falha (single point of failure) comparador em software ou hardware ? resultado mesmos dados de entrada mesmo clock erro Taisy Weber 36 Duplicação e comparação COMPARAÇÃO detecção processador B COMPARAÇÃO processador A memória compartilhada resultado de A resultado de B memória local de A resultado de A memória local de B resultado de B SINAL DE ERRO SINAL DE ERRO leitura escrita Taisy Weber 37 Confinamento latência de falha pode provocar espalhamento de dados inválidos confinamento estabelece limites para a propagação do dano depende de decisões de projeto do sistema facilita detecção e recuperação, mas não é obrigatório detecção recuperação restringir fluxo de informações evitar fluxos acidentes estabelecer interfaces de verificação para detecção detecção confinamento recuperação tratamento Ricardo Duarte Note VIDE caso do acidente aéreo no Brasil em 29/09/2006. Taisy Weber 38 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 Taisy Weber 39 Recuperação de erros troca do estado atual incorreto para um estado livre de falhas ocorre após detecção pode ser um estado anterior, livre de falhas, do sistema pode ser um novo estado em último caso, pode ser o estado inicial recuperação detecção confinamento recuperação tratamento Ricardo Duarte Line Ricardo Duarte Text Box NA PIOR DAS HIPÓTESES Taisy Weber 40 dois grupos retorno avanço Recuperação condução a novo estado condução a estado anterior P estado anterior falha rollback P falha novo estado avanço os dois grupos são compatíveis Taisy Weber 41 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 42 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 43 Recuperação simples em um único processo backup e log de operações complexa em processamento distribuído usualmente retroativa (de retorno) pode provocar efeito dominó retorno ao início do processamento solução restrições a comunicação entre processos mais sobre o assunto em sistemas distribuídos Taisy Weber 44 Tratamento de falhas localizar a origem do erro (falha) localizar a falha de forma precisa reparar a falha recuperar o restante do sistema hipótese de falha usual uma única falha de cada vez lembrar diferenças entre falhas permanentes e temporárias recuperação detecção confinamento recuperação tratamento Taisy Weber 45 Localização da falha duas fases: localização grosseira (módulo ou subsistema) 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 46 Reparo da falha remoção do componente defeituoso manual ou automática remoção automática degradação suave: reconfiguração para operação com menor número de componentes auto-reparo: aplicação de redundância de componentes sistemas com longo período de missão sem possibilidade de reparo manual falha permanente Ricardo Duarte Text Box GRACEFUL DEGRADATION Ricardo Duarte Text Box Esse conceito se aplica ao DESENVOLVIMENTO DE APLICAÇÕES WEB (Javascript, PHP, Perl, Phyton, etc.) Ricardo Duarte Line Taisy Weber 47 Bibliografia para conceitos básicos capítulo de livro Johnson, Barry. An introduction to the design na analysis of the fault- tolerante systems, cap 1. Fault-Tolerant System Design. Prentice Hall, New Jersey, 1996 artigos Avizenis. The four-universe information system model for the study of fault-tolerance, FTCS 1982 Laprie, Jean-Claude - Dependability of Computer Systems: from Concepts to Limits.DCIA 98, http://www.cs.wits.ac.za/research/workshop/ifip98.html livros Birman, K. Building secure and reliable network applications. Manning Publications Co, Geenwich, 1996 http://www.cs.wits.ac.za/research/workshop/ifip98.html Fundamentos deTolerância a Falhas Bibliografia básica Conteúdo da disciplina Motivação para tolerância a falhas Desafios atuais Dependabilidade vs desempenho Causas de defeitos Tópicos Conceitos básicos Falha, erro ou defeito? Falha versus erro falha (falta) erro defeito Latência Falhas Causas de falhas Falhas: classificação Objetivo de TF Confiabilidade Confiabilidade Disponibilidade Segurança Outros atributos Aplicações de FT Computação crítica Alta disponibilidade Técnicas para alcançar dependabilidade Técnicas: validação Técnicas: prevenção Técnicas: tolerância a falhas Técnicas para alcançar dependabilidade Técnicas de TF Técnicas de TF Classificação Detecção Duplicação e comparação Duplicação e comparação Confinamento Exemplos Recuperação de erros Recuperação Avanço Retorno Recuperação Tratamento de falhas Localização da falha Reparo da falha Bibliografia para conceitos básicos
Compartilhar