Fundamentos de tolerancia de falhas

52
Fundamentos de Tolerância a Falhas Graduação: CIC e ECP Taisy Silva Weber 2002

Transcript of Fundamentos de tolerancia de falhas

Page 1: Fundamentos de tolerancia de falhas

Fundamentos deTolerância a Falhas

Graduação: CIC e ECP

Taisy Silva Weber

2002

Page 2: Fundamentos de tolerancia de falhas

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

Page 3: Fundamentos de tolerancia de falhas

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

Page 4: Fundamentos de tolerancia de falhas

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

Page 5: Fundamentos de tolerancia de falhas

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

Page 6: Fundamentos de tolerancia de falhas

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

Page 7: Fundamentos de tolerancia de falhas

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

Page 8: Fundamentos de tolerancia de falhas

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

Page 9: Fundamentos de tolerancia de falhas

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…)

Page 10: Fundamentos de tolerancia de falhas

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

Page 11: Fundamentos de tolerancia de falhas

Taisy Weber 11

Falha versus erro

falha erro defeitofalha

subsistema

sistema

Page 12: Fundamentos de tolerancia de falhas

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

Page 13: Fundamentos de tolerancia de falhas

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

Page 14: Fundamentos de tolerancia de falhas

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

Page 15: Fundamentos de tolerancia de falhas

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

Page 16: Fundamentos de tolerancia de falhas

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

Page 17: Fundamentos de tolerancia de falhas

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

Page 18: Fundamentos de tolerancia de falhas

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

Page 19: Fundamentos de tolerancia de falhas

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

Page 20: Fundamentos de tolerancia de falhas

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

Page 21: Fundamentos de tolerancia de falhas

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

Page 22: Fundamentos de tolerancia de falhas

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

Page 23: Fundamentos de tolerancia de falhas

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

Page 24: Fundamentos de tolerancia de falhas

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

Page 25: Fundamentos de tolerancia de falhas

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

Page 26: Fundamentos de tolerancia de falhas

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

Page 27: Fundamentos de tolerancia de falhas

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

Page 28: Fundamentos de tolerancia de falhas

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

Page 29: Fundamentos de tolerancia de falhas

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

Page 30: Fundamentos de tolerancia de falhas

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

Page 31: Fundamentos de tolerancia de falhas

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

Page 32: Fundamentos de tolerancia de falhas

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

Page 33: Fundamentos de tolerancia de falhas

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

Page 34: Fundamentos de tolerancia de falhas

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

Page 35: Fundamentos de tolerancia de falhas

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

Page 36: Fundamentos de tolerancia de falhas

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

Page 37: Fundamentos de tolerancia de falhas

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

Page 38: Fundamentos de tolerancia de falhas

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

Page 39: Fundamentos de tolerancia de falhas

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

Page 40: Fundamentos de tolerancia de falhas

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

Page 41: Fundamentos de tolerancia de falhas

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

Page 42: Fundamentos de tolerancia de falhas

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

Page 43: Fundamentos de tolerancia de falhas

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

Page 44: Fundamentos de tolerancia de falhas

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

Page 45: Fundamentos de tolerancia de falhas

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

Page 46: Fundamentos de tolerancia de falhas

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

Page 47: Fundamentos de tolerancia de falhas

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

Page 48: Fundamentos de tolerancia de falhas

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

Page 49: Fundamentos de tolerancia de falhas

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)

Page 50: Fundamentos de tolerancia de falhas

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

Page 51: Fundamentos de tolerancia de falhas

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

Page 52: Fundamentos de tolerancia de falhas

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