Você está na página 1de 53

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220162274

Fundamentos de Tolerância a Falhas.

Article · January 1989


Source: DBLP

CITATIONS READS

3 973

1 author:

Ingrid Jansch-Pôrto
Universidade Federal do Rio Grande do Sul
41 PUBLICATIONS   118 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Ingrid Jansch-Pôrto on 12 July 2015.

The user has requested enhancement of the downloaded file.


Fundamentos de
Tolerância a Falhas
Graduação: CIC e ECP
Taisy Silva Weber
2002
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 download
http://www.cs.cornell.edu/ken/book.pdf
Taisy Weber 2
Conteúdo da disciplina
y Conceitos básicos de tolerância a falhas
x atributos e medidas: dependabilidade, confiabilidade,
disponibilidade e outros
x redundância arquiteturas
convencionais,
x aplicações de TF servidores de rede,
clusters de alta
y Arquiteturas tolerantes a falhas disponibilidade
y TF em sistemas distribuídos
x Difusão confiável e de grupo. Recuperação de
processos. Replicação de dados. Validação.

Taisy Weber 3
Motivação para tolerância a falhas
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

x componentes de hardware cada vez mais confiáveis


ENTRETANTO
x software e projeto cada vez menos confiáveis
x sistemas cada vez mais complexos
EXEMPLO
x falha de projeto na FPU do Pentium

Taisy Weber 4
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 5
Dependabilidade vs desempenho
dependabilidade

sistemas
ultra
confiáveis

sistemas
comerciais objetivo
tolerantes a
falhas

sistemas altamente
paralelos e sistemas
distribuídos
PC

1 10 100 1000 10000 100000


desempenho
Taisy Weber 6
Dependability of Computer Systems:
from Concepts to Limits
Causas de defeitos
Jean-Claude Laprie - DCIA 98

Sistemas tradicionais Redes cliente-servidor

Não tolerante a falhas Tolerante a falhas (não tolerantes a falhas)

MTBF: 6 a 12 semanas MTBF: 21 anos Disponibilidade média:


Indisponibilidade após (Tandem) 98%
defeito: 1 a 4 h
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 15% ambiente 7%
/ ambiente
Causas usuais de defeitos em sistemas de computação
http://www.cs.wits.ac.za/research/workshop/ifip98.html
Taisy Weber 7
Tópicos

z nesse item:
y Falha, erro, defeito
y Falhas
y Dependabilidade
y Atributos de dependabilidade
y Exemplos de áreas de aplicação
y Técnicas de TF

Taisy Weber 8
Conceitos básicos
y falha, erro e defeito
y atributos
x dependabilidade, confiabilidade, disponibilidade e
outros
y redundância Barry Johnson,
y aplicações de TF 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?
y estado errôneo (ou erro)
x se processamento posterior pode levar a defeito
y falha
x causa física ou algorítmica do erro
y falhas podem ser toleradas, defeitos não
z fault → error → failure
x falha (falta) → erro → defeito usado nessa disciplina

x falta → erro →falha (tolerância a falta)


alguns grupos no Brasil usam a última terminologia

Taisy Weber 10
Falha versus erro

subsistema
falha
falha erro defeito

sistema

Taisy Weber 11
falha (falta) → erro → defeito
processamento posterior
pode levar a defeito
universo da
informação

universo físico
falha
erro defeito

universo do usuário desvio da


especificação

Taisy Weber 12
Latência

z latência de falha
x período de tempo desde a ocorrência da falha até a
manifestação do erro devido aquela falha
z latência de erro
x 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
z falhas físicas confiabilidade sempre
foi um problema de
y permanentes engenharia, assim
falhas físicas, que
y temporárias intermitentes afetam diretamente o
transitórias hardware,
tradicionalmente vem
z humanas recebendo atenção
especial
y falhas de projeto
falhas são inevitáveis
intencionais
y interação não intencionais

Taisy Weber 14
Causas de falhas
z problemas de especificação
z problemas de implementação
z componentes defeituosos
x imperfeições de manufatura
x fadiga
z distúrbios externos
x 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

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

z alcançar dependabilidade
y dependabilidade (dependability)
x qualidade do serviço fornecido por um dado sistema
x confiança no serviço fornecido adiante veremos mais
detalhes sobre
y atributos (medidas): 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
Taisy Weber 17
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ório
x probabilidade que um sistema funcione corretamente
durante um intervalo de tempo [t 0,t]
depende do sistema
• probabilidade condicional estar operacional em t0
x R(t) = P {X > t}
• X = tempo sem falhas de um sistema
• t = tempo de funcionamento ou duração da missão

Taisy Weber 18
Confiabilidade

z mais usada como medida em:


y sistemas em que mesmo curtos períodos de
operação incorreta são inaceitáveis
y sistemas em que reparo é impossível
z exemplos:
y aviação
x intervalo de tempo: 10 a 12 horas
y exploração espacial
x intervalo de tempo: 10 anos
Taisy Weber 19
Disponibilidade
availability

y probabilidade do sistema estar operacional no


instante de tempo t
y 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
Segurança
safety
y probabilidade do sistema:
x ou de estar operacional e executar sua função
corretamente
x ou de descontinuar suas funções de forma a não
provocar dano a outros sistema ou pessoas que dele
dependam
y medida da capacidade fail-safe do sistema
y não está relacionado diretamente a security
atributo usual na área de controle de
processos industriais e de transporte

Taisy Weber 21
Outros atributos
sistema continua a operar, mas
y performability com queda de desempenho
x relacionado a queda de desempenho provocada por
falhas
y mantenabilidade
x 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
y testabilidade
• capacidade de testar certos atributos internos ao sistema
• facilidade de realizar certos testes
• relacionada a mantenabilidade
Taisy Weber 22
Performability

z relacionado a queda de desempenho


provocada por falhas
y sistema continua a operar, mas com queda de
desempenho
graceful degradation: degradação suave
ou degradação gradual

y P(L,t)
x probabilidade que o desempenho do sistema seja no
mínimo L no instante de tempo t

Taisy Weber 23
Mantenabilidade

z facilidade de realizar a manutenção do


sistema
y quantitativamente: probabilidade que um
sistema com defeitos seja restaurado a um estado
operacional dentro de um período t
y restauração
x localização do problema
x reparo físico
x colocação em operação

Taisy Weber 24
Testabilidade

z capacidade de testar certos atributos internos


ao sistema
z facilidade de realizar certos testes
z relacionada a mantenabilidade
y a testabilidade aumenta a mantenabilidade
z testes:
y manuais
y automáticos
Taisy Weber 25
Aplicações de FT
y 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

y manutenção adiada manutenção é ou impossível ou


extremamente cara:
lugares remotos ou só acessíveis
periodicamente,
aplicações espaciais
y computação crítica
y alta disponibilidade
Taisy Weber 26
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:
freqüentemente de tempo real
x controle de tráfego aéreo
x sistemas militares
x controle de plantas industriais
y exemplos:
• Space Shuttle
• controladores industriais programáveis

Taisy Weber 27
Alta disponibilidade

z aplicações que exigem alta disponibilidade:


x transações financeiras e comerciais
x sistemas de reservas internacionais sistemas on-line,
x aplicações na Internet (e-comerce) não confundir com
tempo real
aparecem freqüentemente
y exemplos: com o nome de sistemas de
missão crítica
x clássicos
• Tandem Nonstop & Stratus
x atuais
• servidores de redes & HA-clusters
Taisy Weber 28
Técnicas para alcançar
dependabilidade
y a dependabilidade de um sistema depende de
decisões de projeto desse sistema
x para alcançar dependabilidade (ou seja para alcançar os
atributos de dependabilidade) é necessário o emprego
de 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ão


mencionadas a seguir

Taisy Weber 29
Técnicas: validação
dependabilidade

validação tolerância a falhas


prevenção

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 tolerância a falhas


prevenção

remoção previsão

evitar introduzir falhas


durante projeto e construção seleção de metodologias
do sistema de projeto e tecnologia
apropriada
não resolve problemas críticos de confiabilidade

Taisy Weber 31
Técnicas: tolerância a falhas
dependabilidade

validação tolerância a falhas


prevenção

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

validação tolerância a falhas


prevenção

remoção previsão
evitar introduzir
falhas durante
estimar presença projeto e
de falhas e suas construção do fornecer serviço
conseqüências sistema esperado mesmo
na presença de
verificar presença falhas
de falhas e remover

Taisy Weber 33
Técnicas de TF

z prevenção e remoção de falhas não são


suficientes:
y quando o sistema exige alta confiabilidade,
y ou alta disponibilidade
z técnicas de TF exigem
y componentes adicionais
y algoritmos especiais redundância

Taisy Weber 34
Técnicas de TF

z mascaramento
x falhas são mascaradas e não chegam a provocar defeito

no universo físico: falha


ou
no universo da informação: erro

z detecção, localização e recuperação


x ou erros (ou falhas) devem ser inicialmente detectados
x 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

z 4 fases (Anderson & Lee):


y detecção tratamento
y confinamento e avaliação recuperação
y recuperação confinamento e avaliação
y tratamento da falha detecção
primeira fase

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

Taisy Weber 37
Duplicação e comparação

2 módulos idênticos de hardware


resultado

mesmos
dados de erro
COMPARADOR
entrada

ponto crítico de falha


(single point of failure)
mesmo
clock
comparador em software
ou hardware ?

Taisy Weber 38
Duplicação e comparação: software
detecção
leitura
escrita
processador A memória local de A

resultado resultado
de B COMPARAÇÃO de A

memória
compartilhada SINAL DE ERRO

processador B memória local de B


resultado
de A resultado
COMPARAÇÃO de B

SINAL DE ERRO

Taisy Weber 39
Confinamento e avaliação de danos

z latência de falha ocorrência de falha até erro (detectado)


x pode provocar espalhamento de dados inválidos
z confinamento
x estabelece limites para a propagação do dano

confinamento e avaliação tratamento

dependem de decisões de projeto recuperação


do sistema
confinamento e avaliação
facilitam detecção e recuperação,
mas não são obrigatórias
detecção

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

Taisy Weber 41
Exemplos

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

Taisy Weber 42
Recuperação de erros

z 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 tratamento
estado inicial
recuperação

y ocorre após detecção confinamento e avaliação

detecção

Taisy Weber 43
Recuperação
os dois grupos são compatíveis
z dois grupos
x retorno
condução a estado anterior estado anterior

P falha
rollback

x avanço
novo estado
condução a novo estado falha
P
avanço

Taisy Weber 44
Avanço

z forward error recovery


y condução a novo estado consistente
x ainda não ocorrido desde a última manifestação de
erro
y eficiente, mas específica a cada sistema
x 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

z backward error recovery


x condução a estado anterior consistente
x alto custo mas de aplicação genérica
z exemplo de técnica de recuperação por
retorno
y pontos de verificação (checkpoints)
x mais simples
x salvamento de todo o estado do sistema
periodicamente

Taisy Weber 46
Recuperação

z simples em um único processo


z complexa em processamento distribuído
y usualmente retroativa (de retorno)
y pode provocar efeito dominó mais sobre
órfãs e
x retorno ao início do processamento perdidas
x problema com mensagens órfãs e perdidas quando
estudarmos
y solução sistemas
x restrições a comunicação entre processos distribuídos

Taisy Weber 47
Tratamento de falhas

z localizar a origem do erro (falha)


x localizar a falha de forma precisa
x reparar a falha
x recuperar o restante do sistema
lembrar diferenças entre falhas
permanentes e temporárias tratamento

recuperação
y hipótese de falha
confinamento e avaliação
x uma única falha de cada vez
detecção

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

Taisy Weber 49
Reparo da falha

z remoção do componente defeituoso


y manual ou automática
z automática
y degradação suave:
x reconfiguração para operação com menor número de
componentes
y auto-reparo:
x substituição imediata por componente disponível no
sistema

Taisy Weber 50
Auto-reparo

z substituição automática
y sistemas com longo período de missão sem
possibilidade de reparo manual
y aplicação de redundância de componentes
x redundância dinâmica
x redundância híbrida
x redundância auto-eliminadora

todos esses tipos de redundância serão vistos a seguir

Taisy Weber 51
Bibliografia para conceitos básicos
z capítulo de livro
y 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
z artigos
y Avizenis. The four-universe information system model for the study of fault-
tolerance, FTCS 1982
y Laprie, Jean-Claude. Dependable Computing: Concepts, Limits, Challenges.
FTCS, 1995
y Jean-Claude Laprie - Dependability of Computer Systems: from Concepts to
Limits. DCIA 98, http://www.cs.wits.ac.za/research/workshop/ifip98.html
z livros
y Birman, K. Building secure and reliable network applications. Manning
Publications Co, Geenwich, 1996
Taisy Weber 52

View publication stats