• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
52
0
0

Texto

(1)

Fundamentos de

Tolerância a Falhas

Graduação: CIC e ECP

Taisy Silva Weber

2002

(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

(3)

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

x aplicações de TF

y

Arquiteturas tolerantes a falhas

y

TF em sistemas distribuídos

x 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

(4)

Motivação para tolerância a falhas

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

capacidade de manter o serviço desejado mesmo na presença de falhas

evitar que o usuário do serviço seja o

(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

(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 dependabilidade PC objetivo

(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

(8)

Tópicos

z

nesse item:

y

Falha, erro, defeito

y

Falhas

y

Dependabilidade

y

Atributos de dependabilidade

y

Exemplos de áreas de aplicação

(9)

Conceitos básicos

y

falha, erro e defeito

y

atributos

x dependabilidade, confiabilidade, disponibilidade e

outros

y

redundância

y

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

(10)

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

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

alguns grupos no Brasil usam a última terminologia

(11)

Falha versus erro

falha

erro

defeito

falha

subsistema

(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

(13)

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

erro

defeito

falha

(14)

Falhas

z

falhas físicas

y

permanentes

y

temporárias

z

humanas

y

falhas de projeto

y

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

(15)

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

(16)

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

(17)

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

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 mais detalhes sobre

(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ório

x 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

depende do sistema estar operacional em t0

(19)

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

(20)

Disponibilidade

y

probabilidade do sistema estar operacional no

instante de tempo t

y

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

(21)

Segurança

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

(22)

Outros atributos

y

performability

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

sistema continua a operar, mas com queda de desempenho

(23)

Performability

z

relacionado a queda de desempenho

provocada por falhas

y

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 suave

(24)

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

(25)

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

(26)

Aplicações de FT

y

longa vida

y

manutenção adiada

y

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 reconfigurados manualmente por operador

manutenção é ou impossível ou extremamente cara:

lugares remotos ou só acessíveis periodicamente,

(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éreo x sistemas militares

x controle de plantas industriais

y

exemplos:

• Space Shuttle

• controladores industriais programáveis

(28)

Alta disponibilidade

z

aplicações que exigem alta disponibilidade:

x transações financeiras e comerciais x sistemas de reservas internacionais x aplicações na Internet (e-comerce)

y

exemplos:

x clássicos

• Tandem Nonstop & Stratus

x atuais

sistemas on-line, não confundir com tempo real

aparecem freqüentemente com o nome de sistemas de

(29)

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

(30)

Técnicas: validação

dependabilidade

validação

remoção

prevenção tolerância a falhas

previsão

verificar a presença de falhas e removê-las

estimar presença de falhas e suas conseqüências

(31)

Técnicas: prevenção

dependabilidade

validação remoção

prevenção tolerância a falhas

previsão

evitar introduzir falhas

durante projeto e construção

do sistema seleção de metodologiasde projeto e tecnologia apropriada

(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 na presença de falhas

mascaramento de falhas, detecção de falhas, localização, confinamento, recuperação, reconfiguração, tratamento

(33)

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çoesperado mesmo na presença de falhas

(34)

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

(35)

Técnicas de TF

z

mascaramento

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

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

ou no universo físico: falha

no universo da informação: erro

(36)

Classificação

z

4 fases (Anderson & Lee):

y

detecção

y

confinamento e avaliação

y

recuperação

y

tratamento da falha

z

outra classificação

x detecção, diagnóstico, confinamento, mascaramento,

compensação detecção confinamento e avaliação recuperação tratamento primeira fase

(37)

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 • limites ou compatibilidades x testes estruturais • consistência x diagnóstico detecção confinamento e avaliação recuperação tratamento

(38)

2 módulos idênticos de hardware

COMPARADOR

ponto crítico de falha (single point of failure)

comparador em software ou hardware ? resultado erro

Duplicação e comparação

mesmos dados de entrada mesmo clock

(39)

COMPARAÇÃO

Duplicação e comparação: software

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

(40)

Confinamento e avaliação de danos

z

latência de falha

x pode provocar espalhamento de dados inválidos

z

confinamento

x estabelece limites para a propagação do dano

ocorrência de falha até erro (detectado)

detecção

confinamento e avaliação recuperação

tratamento

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

(41)

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

(42)

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

(43)

Recuperação de erros

z

troca do estado atual incorreto para um

estado livre de falhas

y

ocorre após detecção

detecçã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 o estado inicial

(44)

z

dois grupos

x retorno

x 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

(45)

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

(46)

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

(47)

Recuperação

z

simples em um único processo

z

complexa em processamento distribuído

y

usualmente retroativa (de retorno)

y

pode provocar

efeito dominó

x retorno ao início do processamento

x problema com mensagens órfãs e perdidas

y

solução

x restrições a comunicação entre processos

mais sobre órfãs e perdidas quando estudarmos sistemas distribuídos

(48)

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

y

hipótese de falha

x uma única falha de cada vez

lembrar diferenças entre falhas permanentes e temporárias

detecção

confinamento e avaliação recuperação

(49)

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

(50)

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

(51)

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

(52)

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

Referências

Documentos relacionados

Os doentes tratados com qualquer um destes medicamentos e bupropiom poderão necessitar de um aumento da dose de bupropiom, no entanto a dose máxima recomendada de bupropiom

Em cultura de arroz irrigado por inundac;ao permanente, os efeitos de variaveis, por exem- plo, como a altura da lamina da agua, epoca do transplante , distancia entre

133 Serviço Regional de Proteção Civil, IP - RAM Acidentes que envolvam substâncias perigosas (Diretiva Seveso II) Sistemas de monitorização internos dos estabelecimentos

Atualmente, foi aprovada pela ABNT uma norma complementar às existentes, denominada “Hidrômetros para água fria – Ensaios para avaliação de desempenho de hidrômetros em alta e

efeito é assumido que os átomos do soluto ocupam sítios intersticiais octaédricos e os resultados são sensíveis ao modelo utilizado; O efeito Snoek é a migração induzida

Tecnologia da Informação (TI) é a área de conhecimento responsável por criar, admi- nistrar e manter a gestão da informação através de dispositivos e equipamentos para acesso,

Jovens pesquisadores, mestrandos e doutorandos,participaram desse primeiro colóquio realizando apresentações de painéis para divulgação deseus trabalhos.A riqueza

Aviso Legal: As informações contidas nesta ficha de segurança são orientativas sobre cuidados de saúde, de segurança no armazenamento e transporte da substância / mistura a que