Buscar

tratativas de falhas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais