Fundamentos de tolerancia de falhas
-
Upload
erick-portugal -
Category
Documents
-
view
295 -
download
12
Transcript of Fundamentos de tolerancia de falhas
Fundamentos deTolerância a Falhas
Graduação: CIC e ECP
Taisy Silva Weber
2002
Taisy Weber 2
Bibliografia básica
y Pradhan, D. K.• Fault-Tolerant System Design.• Prentice Hall, New Jersey, 1996.
y Jalote, P.• Fault tolerance in distributed systems.• Prentice Hall, Englewood Cliffs, New Jersey, 1994.
y Birman, K.• Building secure and reliable network applications.• Manning Publications Co, Geenwich, 1996
y Notas de aula disponível para downloadhttp://www.cs.cornell.edu/ken/book.pdf
Taisy Weber 3
Conteúdo da disciplina
y Conceitos básicos de tolerância a falhasx atributos e medidas: dependabilidade, confiabilidade,
disponibilidade e outrosx redundânciax aplicações de TF
y Arquiteturas tolerantes a falhasy TF em sistemas distribuídos
x Difusão confiável e de grupo. Recuperação deprocessos. Replicação de dados. Validação.
arquiteturasconvencionais,servidores de rede,clusters de altadisponibilidade
Taisy Weber 4
Motivação para tolerância a falhas
x componentes de hardware cada vez mais confiáveisENTRETANTOx software e projeto cada vez menos confiáveisx sistemas cada vez mais complexosEXEMPLOx falha de projeto na FPU do Pentium
capacidade de manter o serviço desejadomesmo na presença de falhas
evitar que o usuário do serviço seja ocomponente tolerante a falhas do sistema
Taisy Weber 5
Desafios atuais
y bugs no projeto de hardware e software• altíssima complexidade dos sistemas
y paralelismo em alta escala• uso de novas tecnologias (não provadas)
y sistemas distribuídos• para sistemas críticos• para operação em tempo real
y 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 ultraconfiáveis
sistemascomerciaistolerantes afalhas
sistemas altamenteparalelos e sistemasdistribuídos
desempenho
depe
ndab
ilida
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 semanasIndisponibilidade apósdefeito: 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 LimitsJean-Claude Laprie - DCIA 98
http://www.cs.wits.ac.za/research/workshop/ifip98.html
Taisy Weber 8
Tópicos
z nesse item:y Falha, erro, defeitoy Falhasy Dependabilidadey Atributos de dependabilidadey Exemplos de áreas de aplicaçãoy Técnicas de TF
Taisy Weber 9
Conceitos básicos
y falha, erro e defeitoy atributos
x dependabilidade, confiabilidade, disponibilidade eoutros
y redundânciay aplicações de TF
Barry Johnson,cap. 1, livro do Pradhan
conceitos básicos podem ser encontrados também em livros desistemas operacionais, redes, arquitetura de computadores, sitesde 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 10
Falha, erro ou defeito?
y estado errôneo (ou erro)x se processamento posterior pode levar a defeito
y falhax causa física ou algorítmica do erro
y falhas podem ser toleradas, defeitos não
z fault → error → failurex falha (falta) → erro → defeitox 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 defeitofalha
subsistema
sistema
Taisy Weber 12
falha (falta) → erro → defeito
universo físico
universo dainformação
erro defeito
desvio daespecificação
falha
processamento posteriorpode levar a defeito
universo do usuário
Taisy Weber 13
Latência
z latência de falhax período de tempo desde a ocorrência da falha até a
manifestação do erro devido aquela falha
z latência de errox período de tempo desde a ocorrência do erro até a
manifestação do defeito devido aquele erro
erro defeitofalha
latência de falha latência de erro
Taisy Weber 14
Falhas
z falhas físicasy permanentesy temporárias
z humanasy falhas de projeto
y interação
intermitentestransitórias
intencionaisnão intencionais
confiabilidade semprefoi um problema deengenharia, assimfalhas físicas, queafetam diretamente ohardware,tradicionalmente vemrecebendo atençãoespecial
falhas são inevitáveis
Taisy Weber 15
Causas de falhas
z problemas de especificaçãoz problemas de implementaçãoz componentes defeituosos
x imperfeições de manufaturax fadiga
z distúrbios externosx 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
Descrição de falhas
z naturezay falha de hardware, falha de software, etc..
z duraçãoy permanente ou temporária
z extensãoy local a um módulo, global
z valory determinado ou indeterminado no tempo
Taisy Weber 17
Objetivo de TF
z alcançar dependabilidadey dependabilidade (dependability)
x qualidade do serviço fornecido por um dado sistemax confiança no serviço fornecido
y atributos (medidas):x confiabilidade, disponibilidade, segurança (safety),
mantenabilidade, testabilidade, performability, etc…x segurança (security) também é considera por alguns
autores como atributo de dependabilidade
adiante veremos maisdetalhes sobremedidas
Taisy Weber 18
Confiabilidade
y 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
y falha é um fenômeno aleatóriox probabilidade que um sistema funcione corretamente
durante um intervalo de tempo [t0,t]• probabilidade condicional
x R(t) = P {X > t}• X = tempo sem falhas de um sistema• t = tempo de funcionamento ou duração da missão
depende do sistemaestar operacional em t0
Taisy Weber 19
Confiabilidade
z mais usada como medida em:y sistemas em que mesmo curtos períodos de
operação incorreta são inaceitáveisy sistemas em que reparo é impossível
z exemplos:y aviação
x intervalo de tempo: 10 a 12 horas
y exploração espacialx intervalo de tempo: 10 anos
Taisy Weber 20
Disponibilidade
y probabilidade do sistema estar operacional noinstante de tempo t
y alternância de períodos de funcionamento ereparo
• um sistema pode ser altamente disponível mesmoapresentando períodos de inoperabilidade
desde que esses períodos sejam curtos
disponibilidade e confiabilidade são osatributos mais conhecidos e usados, muitas vezesaparecem como sinônimos de dependabilidade
availability
Taisy Weber 21
Segurança
y probabilidade do sistema:x ou de estar operacional e executar sua função
corretamentex ou de descontinuar suas funções de forma a não
provocar dano a outros sistema ou pessoas que deledependam
y medida da capacidade fail-safe do sistemay não está relacionado diretamente a security
atributo usual na área de controle deprocessos industriais e de transporte
safety
Taisy Weber 22
Outros atributos
y performabilityx relacionado a queda de desempenho provocada por
falhas
y mantenabilidadex facilidade de realizar a manutenção do sistema
• probabilidade que um sistema com defeitos seja restaurado aum estado operacional dentro de um período t
y testabilidade• capacidade de testar certos atributos internos ao sistema• facilidade de realizar certos testes• relacionada a mantenabilidade
sistema continua a operar, mascom queda de desempenho
Taisy Weber 23
Performability
z relacionado a queda de desempenhoprovocada por falhasy sistema continua a operar, mas com queda de
desempenho
y P(L,t)x probabilidade que o desempenho do sistema seja no
mínimo L no instante de tempo t
graceful degradation: degradação suaveou degradação gradual
Taisy Weber 24
Mantenabilidade
z facilidade de realizar a manutenção dosistemay quantitativamente: probabilidade que um
sistema com defeitos seja restaurado a um estadooperacional dentro de um período t
y restauraçãox localização do problemax reparo físicox colocação em operação
Taisy Weber 25
Testabilidade
z capacidade de testar certos atributos internosao sistema
z facilidade de realizar certos testesz relacionada a mantenabilidade
y a testabilidade aumenta a mantenabilidade
z testes:y manuaisy automáticos
Taisy Weber 26
Aplicações de FT
y longa vida
y manutenção adiada
y computação críticay alta disponibilidade
satélites e sondas espaciais:probabilidade de 0,95 de estar operacional após10 anos de missão,freqüentemente permitem ser reconfiguradosmanualmente por operador
manutenção é ou impossível ouextremamente cara:
lugares remotos ou só acessíveisperiodicamente,aplicações espaciais
Taisy Weber 27
Computação crítica
z aplicações críticas:x segurança humana, proteção de equipamento ou
segurança do meio ambiente
y áreas:x controle de tráfego aéreox sistemas militaresx controle de plantas industriais
y exemplos:• Space Shuttle• controladores industriais programáveis
freqüentemente de tempo real
Taisy Weber 28
Alta disponibilidade
z aplicações que exigem alta disponibilidade:x transações financeiras e comerciaisx sistemas de reservas internacionaisx aplicações na Internet (e-comerce)
y exemplos:x clássicos
• Tandem Nonstop & Stratus
x atuais• servidores de redes & HA-clusters
sistemas on-line,não confundir comtempo real
aparecem freqüentementecom o nome de sistemas demissão crítica
Taisy Weber 29
Técnicas para alcançardependabilidade
y a dependabilidade de um sistema depende dedecisões de projeto desse sistema
x para alcançar dependabilidade (ou seja para alcançar osatributos de dependabilidade) é necessário o empregode técnicas de projeto adequadas
x 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ãomencionadas a seguir
Taisy Weber 30
Técnicas: validação
dependabilidade
validação
remoção
prevenção tolerância a falhas
previsão
verificar a presençade falhas e removê-las
estimar presença de falhas esuas conseqüências
Taisy Weber 31
Técnicas: prevenção
dependabilidade
validação
remoção
prevenção tolerância a falhas
previsão
evitar introduzir falhasdurante projeto e construçãodo sistema
seleção de metodologiasde projeto e tecnologiaapropriada
não resolve problemas críticos de confiabilidade
Taisy Weber 32
Técnicas: tolerância a falhas
dependabilidade
validação
remoção
prevenção tolerância a falhas
previsão
fornecer serviço esperado mesmo napresença de falhas
mascaramento de falhas, detecção de falhas, localização,confinamento, recuperação, reconfiguração, tratamento
Taisy Weber 33
Técnicas para alcançardependabilidade
dependabilidade
validação
remoção
prevenção tolerância a falhas
previsão
verificar presençade falhas e remover
estimar presençade falhas e suasconseqüências
evitar introduzirfalhas duranteprojeto econstrução dosistema
fornecer serviçoesperado mesmona presença defalhas
Taisy Weber 34
Técnicas de TF
z prevenção e remoção de falhas não sãosuficientes:y quando o sistema exige alta confiabilidade,y ou alta disponibilidade
z técnicas de TF exigemy componentes adicionaisy algoritmos especiais redundância
Taisy Weber 35
Técnicas de TF
z mascaramentox falhas são mascaradas e não chegam a provocar defeito
z detecção, localização e recuperaçãox ou erros (ou falhas) devem ser inicialmente detectadosx o sistema entra em um estado de tratamento de exceção
até poder voltar a operação normal
ouno universo físico: falha
no universo da informação: erro
também aparece como detecção e correção
Taisy Weber 36
Classificação
z 4 fases (Anderson & Lee):y detecçãoy confinamento e avaliaçãoy recuperaçãoy tratamento da falha
z outra classificaçãox detecção, diagnóstico, confinamento, mascaramento,
compensação
detecção
confinamento e avaliação
recuperação
tratamento
primeira fase
Taisy Weber 37
Detecção
x duplicação e comparaçãox testes de limites de tempo
• time-out, cão de guarda (watchdog timers)
x testes reversosx codificaçãox teste de razoabilidade
• limites ou compatibilidades
x testes estruturais• consistência
x diagnósticodetecção
confinamento e avaliação
recuperação
tratamento
Taisy Weber 38
2 módulos idênticos de hardware
COMPARADOR
ponto crítico de falha(single point of failure)
comparador em softwareou hardware ?
resultado
erro
Duplicação e comparação
mesmosdados deentrada
mesmoclock
Taisy Weber 39
COMPARAÇÃO
Duplicação e comparação: softwaredetecção
processador B
COMPARAÇÃO
processador A
memóriacompartilhada
resultadode A
resultadode B
memória local de A
resultadode A
memória local de B
resultadode B
SINAL DE ERRO
SINAL DE ERRO
leituraescrita
Taisy Weber 40
Confinamento e avaliação de danos
z latência de falhax pode provocar espalhamento de dados inválidos
z confinamentox estabelece limites para a propagação do dano
ocorrência de falha até erro (detectado)
detecção
confinamento e avaliação
recuperação
tratamentoconfinamento e avaliaçãodependem de decisões de projetodo sistema
facilitam detecção e recuperação,mas não são obrigatórias
Taisy Weber 41
Mecanismos deconfinamento e avaliação
z confinamento:y restrições ao fluxo de informações
x evitar fluxos acidentesx estabelecer interfaces de verificação para detecção de
erros
z avaliação dos danos:y estática: projeto inicial e hardwarey dinâmica: execução e software
Taisy Weber 42
Exemplos
z ações atômicasx operações primitivas auto encapsuladasx sem efeitos secundários
z isolamento de processosx tudo que não é permitido é proibido
z hierarquia de processosx clareza conceitual
z controle de recursos
Taisy Weber 43
Recuperação de erros
z troca do estado atual incorreto para umestado livre de falhas
y ocorre após detecçãodetecção
confinamento e avaliação
recuperação
tratamento
pode ser um estado anterior, livre de falhas, do sistema
pode ser um novo estado
em último caso, pode ser oestado inicial
Taisy Weber 44
z dois gruposx retorno
x avanço
Recuperação
condução a novo estado
condução a estado anterior
P
estado anterior
falharollback
Pfalha
novo estado
avanço
os dois grupos são compatíveis
Taisy Weber 45
Avanço
z forward error recoveryy condução a novo estado consistente
x ainda não ocorrido desde a última manifestação deerro
y eficiente, mas específica a cada sistemax danos devem ser previstos acuradamente
mais usadas em sistemas de tempo real, onde o retornopara um estado anterior (no tempo) seja inviável
Taisy Weber 46
Retorno
z backward error recoveryx condução a estado anterior consistentex alto custo mas de aplicação genérica
z exemplo de técnica de recuperação porretornoy pontos de verificação (checkpoints)
x mais simplesx salvamento de todo o estado do sistema
periodicamente
Taisy Weber 47
Recuperação
z simples em um único processoz complexa em processamento distribuído
y usualmente retroativa (de retorno)y pode provocar efeito dominó
x retorno ao início do processamentox problema com mensagens órfãs e perdidas
y soluçãox restrições a comunicação entre processos
mais sobreórfãs eperdidasquandoestudarmossistemasdistribuídos
Taisy Weber 48
Tratamento de falhas
z localizar a origem do erro (falha)x localizar a falha de forma precisax reparar a falhax recuperar o restante do sistema
y hipótese de falhax uma única falha de cada vez
lembrar diferenças entre falhaspermanentes e temporárias
detecção
confinamento e avaliação
recuperação
tratamento
Taisy Weber 49
Localização da falha
z duas fases:y localização grosseira (módulo ou subsistema)
x deve ser rápida
y localização finax reparos de menor custo
z diagnóstico para localização da falhax manualx automático (componentes livres de falha são
responsáveis pela execução do teste)
Taisy Weber 50
Reparo da falha
z remoção do componente defeituosoy manual ou automática
z automáticay degradação suave:
x reconfiguração para operação com menor número decomponentes
y auto-reparo:x substituição imediata por componente disponível no
sistema
Taisy Weber 51
Auto-reparo
z substituição automáticay sistemas com longo período de missão sem
possibilidade de reparo manualy aplicação de redundância de componentes
x redundância dinâmicax redundância híbridax redundância auto-eliminadora
todos esses tipos de redundância serão vistos a seguir
Taisy Weber 52
Bibliografia para conceitos básicos
z capítulo de livroy Johnson, Barry. An introduction to the design na analysis of the fault-
tolerante systems, cap 1. Fault-Tolerant System Design. Prentice Hall, NewJersey, 1996
z artigosy Avizenis. The four-universe information system model for the study of fault-
tolerance, FTCS 1982y Laprie, Jean-Claude. Dependable Computing: Concepts, Limits, Challenges.
FTCS, 1995y Jean-Claude Laprie - Dependability of Computer Systems: from Concepts to
Limits. DCIA 98, http://www.cs.wits.ac.za/research/workshop/ifip98.html
z livrosy Birman, K. Building secure and reliable network applications. Manning
Publications Co, Geenwich, 1996