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