Sei sulla pagina 1di 45

Tolerncia a Falhas

PROGRAMA

Conceitos Iniciais
Segurana de Funcionamento (Dependabilidade) Respostas do Sistema a Falhas Classificao de Falhas Meios de Obteno de Segurana Aplicaes de Sistemas TF Exemplo da Ponte Exemplo do Caso AIRBUS 320 Tipos e Origem de Falhas

Estratgias de TF
Deteco de Erros Mecanismos Cpias de sistema (replication), testes de limite de tempo, testes reversos, codificao, testes estruturais, programas de diagnstico Sistemas Seguros a Falhas Mascaramento de Falhas Confinamento e Avaliao de Danos Recuperao de Erros Tratamento de Falhas

Programao Diversitria Blocos de Recuperao Programao Auto-verificadora Alta Disponibilidade

AVALIAO
Trabalhos, apresentados em Seminrio Trabalho prtico Injeo de falhas em BD

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

Objetivo de TF

ALCANAR DEPENDABILIDADE (segurana de funcionamento) (dependability): Propriedade que permite depositar confiana justificada no servio que ele oferece. medidas: confiabilidade, disponibilidade, segurana, mantenabilidade, testabilidade, performabilidade, etc...

Aspectos Conceituais

SISTEMA: Conjunto de componentes com seus interrelacionamentos (algoritmo)projetado para prover um sistema especfico. CONFIABILIDADE (reliability): Medida de sucesso com o qual o sistema atende sua especificao.

dentro de condies definidas durante certo perodo de funcionamento condicionado a estar operacional no nicio do perodo falha um probabilstica) fenmeno aleatrio (medida

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

MEDIDAS: Baseadas na incidncia real ou estimada de defeitos. Defeito (failure) =Desvio de especificao MTTF: Mean Time To Failure MTBF: Mean Time Between Failures MTTR: Mean Time To Repair

DEFEITO OU MAU FUNCIONAMENTO: Ocorre quando o comportamento do sistema se desvia de sua especificao. ERRO: O estado interno dito errneo se, diante da funcionalidade normal especificada para a utilizao do sistema, este estado pode levar a um defeito. Erro a parte do estado que est incorreta (o estado lgico de um elemento difere do valor intencional) FALHA: a causa mecnica ou algortmica do erro.

FALHA
FAULT

ERRO
ERROR

DEFEITO
FAILURE

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

FALHA NO TRATADA PODE VIRAR ERRO QUE CAUSA DEFEITO


EXEMPLOS: Engano do Programador Instruo ou segmento de dados incorreto servio fornecido (produz dados errados, funciona em valores ou tempos incorretos).

Curto em CI Grampeamento de sinal ou modificao da funo executada pelo circuto funo executada incorretamente ou mensagem de erro. Perturbao eletromagntica Erro em escrita na memria Quando a palavra for lida. Interpretao errada ou desconhecimento de detalhes na gerao de documentao erro no manual (diretivas incorretas) uso da diretiva causa mau funcionamento

RESPOSTAS DO SISTEMA A FALHAS

O TIPO DE RESPOSTA ACEITVEL DEPENDE DA APLICAO. POSSIBILIDADES DE RESPOSTA:

ERRO NA SADA: No h qualquer garantia sobre os valores das sadas. O sistema no usa qualquer procedimento relacionado a TF. Ex.: jogos eletrnicos.
4

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

FALHA MASCARADA: As sadas esto corretas, embora tenha ocorrido falha no sistema. Ex.: aplicaes de alto risco. SEGURO A FALHAS (FAULT-SECURE): As sadas esto corretas ou h indicao de erro. Ex.: terminais bancrios, sistemas de automao industrial. LIVRE DE FALHAS (FAIL SAFE): A s sadas esto corretas ou em um valor seguro, geralemente indicativo de condio. Ex.: controle de sinaleiras, sistema de frenagem de trens.

A resposta com erro no exige qualquer tipo de procedimento especial: o projeto do sistema trivial e no inclui tcnicas de TF. No mascaramento propriamente dito, o erro disfarado ou escondido devido a existncia de mltiplas unidades funcionais, a partir das quais se estabelece normalmente um processo de votao, ou seja, um processo de seleo de respostas, com a eliminao natural do grupo minoritrio. Tambm podem ser usadas com este propsito tcnicas de correo de erros, atravs das quais a informao decodificada e modificada antes da sada para seu valor correto. Isto obtido devido a redundncia de informao e estruturas especficas para codificao e decodificao, em geral implementadas em hardware. Deteco de erros: restringe-se a percepo de que h um desvio das sadas com relao a especificao do sistema. Esta deteco, quando sinalizada como indicao de erro pode ser usada em sistemas seguros a falhas.
5

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

Os sistemas livres de falhas devem ser projetados e construdos atravs de tcnicas especiais, prevendo-se os estados seguros como sadas especiais de erro a partir dos estados regulares do sistema e pela explorao de caractersticas particulares das tecnologias de implementao.

CLASSIFICAO DAS FALHAS

PERMANENTES FSICAS TEMPORRIAS FALHAS PROJETOS HUMANAS INTENCIONAIS INTERAO NO INTENCIONAIS TRANSITRIAS INTERMITENTES

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

MEIOS DE OBTENO DE SEGURANA

PREVENO DE FALHAS: Impedem, por construo, a introduo ou ocorrncia de falhas (fault avoiding).

TCNICAS: uso de componentes confiveis uso de tecnologias bem testadas mtodos formais para verificao metodologias de projeto uso de especificaes bem precisas tcnicas de programao estruturada tcnicas de teste e documentao uso de linguagens com caractersticas especiais gerenciamento de software

TOLERNCIA A FALHAS: Uso de redundncia para que o servio atenda s especificaes. Supre deficincia do meio anterior e das falhas que surgem no decorrer do uso. TCNICAS DE VALIDAO: Empregadas em conjunto com os procedimentos de preveno e de tolerncia a falhas.

PREVISO DE FALHAS (hiptese de falhas, avaliao de cobertura). REMOO DE FALHAS (testes exaustivos ao final). PARMETRO HISTRICO: Uso de TF por meio de redundncia fsica 1956 Von Neumann (Lgica probabilstica e sntese de organismos confiveis a partir de componentes no confiveis).

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

DEPENDABILIDADE ou Segurana de Funcionamento (Laprie)

FALHA CRENA ERRO DEFEITO SEGURANA DE FUNCIONAMENTO DE REALIZAO PREVENO DE FALHAS

META

TOLERNCIA A FALHAS REMOO DE FALHAS PREVISO DE FALHAS

DE VALIDAO MEDIDA CONFIABILIDADE

DISPONIBILIDADE

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

MEDIDAS

MTTF (Mean Time To Failure)

Tempo esperado de operao do sistema antes da ocorrncia do primeiro defeito considere N sistemas idnticos colocados em operao a partir do tempo t=0 mede-se o tempo de operao ti de cada um at apresentar defeito MTTF o tempo mdio de operao

MTTR (Mean Time To Repair)

Tempo mdio de reparo do sistema

extremamente difcil de estimar


geralmente usa-se injeo de falhas injeta-se uma falha de cada vez e mede-se o tempo = nmero de reparos por hora

nova constante

MTTR = 1

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim 9

Tolerncia a Falhas

MTBF (Mean Time Between Failure)


MTBF = MTTF + MTTR diferena numrica pequena em relao a MTBF diferena conceitual muito importante na pratica valores numricos muito aproximados e tanto faz usar um como outro considera-se: reparo coloca sistema em condies ideais de operao

Taxa de defeitos: nmero esperado de defeitos em um dado perodo de tempo

Curva da banheira: Vlido para hardware


Mortalidade

taxa de defeitos (defeitos por tempo)

infantil fase de envelhecimento perodo de vida til Taxa de defeitos constante Tempo

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

10

Tolerncia a Falhas

Mortalidade Infantil:

componentes fracos e mal fabricados alta taxa de defeitos que diminui rapidamente no tempo

Burn-In:

remoo de componentes fracos operao acelerada de componentes antes de coloc-los no produto final s entram em operao componentes que sobreviveram a mortalidade infantil

Perodo de vida til:

taxa de defeitos constante

Envelhecimento:

taxa de defeitos aumenta rapidamente com o tempo


desgaste fsico do componente conhecendo o incio da fase de envelhecimento possvel substituir o componente sistema volta a operar na fase de vida til envelhecimento de software:

obsolescncia dos programas alteraes nas plataformas

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

11

Tolerncia a Falhas

No vale para software: conforme o software vai sendo usado, bugs vo sendo descobertos e a confiabilidade do software aumenta

Cobertura de falhas (significado intuitivo):

habilidade do sistema de realizar deteco, confinamento, localizao, recuperao ... habilidade do sistema de tolerar falhas

geralmente se refere a habilidade de realizar recuperao de falhas probabilidade condicional que dada uma falha o sistema se recupere

significado matemtico (extremamente difcil de calcular):

LATNCIA: latncia de falha : perodo de tempo desde a

ocorrncia da falha at a manifestao do erro devido aquela falha

latncia de erro: perodo de tempo desde a

ocorrncia do erro at a manifestao do defeito devido aquele erro

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

12

Tolerncia a Falhas

CAUSAS DAS FALHAS:


problemas de especificao problemas de implementao componentes defeituosos imperfeies de manufatura fadiga distrbios externos radiao, interferncia eletromagntica, variaes ambientais (temperatura, presso, umidade), problemas de operao

Confiabilidade (reliability):

mais usada como medida em:

sistemas em que mesmo curtos perodos de operao incorreta so inaceitveis sistemas em que reparo impossvel. Exemplos:

aviao: int. de tempo: 10 a 12 horas explorao espacial: int. de tempo: 10 anos

Disponibilidade (availability):

probabilidade do sistema estar operacional no instante de tempo t. alternncia de perodos de funcionamento e reparo um sistema pode ser altamente disponvel mesmo apresentando perodos de inoperabilidade (desde que esses perodos sejam curtos)
13

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

Tabela 1: Medindo a Disponibilidade


UPTIME 98% 99% 99.8% 99.9% 99.99% 99.999% DOWNTIME DOWNTIME POR ANO 2% 1% 0.2% 0.1% 0.01% 0.001% 7.3 dias 3.65 dias 17 horas, 30 minutos 8 horas, 45 minutos 52.5 minutos 5.25 minutos 31.5 segundos DOWNTIME POR SEMANA 3 horas, 22 minutos 1 hora, 41 minutos 20 minutos, 10 segundos 10 minutos, 5 segundos 1 minuto 6 segundos 0.6 segundos

99.9999% 0.0001%

Dadas estas definies, pode-se calcular a disponibilidade atravs da equao

onde A o grau de disponibilidade expressado como uma porcentagem, MTBF o tempo mdio entre falhas ( mean time between failures), e MTTR o tempo mximo para reparos (maximum time to repair).

Confiabilidade e Disponibilidade
Confiabilidade e Disponibilidade so dois termos so muito relacionados. O objetivo bsico de tolerncia a falhas aumentar a confiabilidade de um certo sistema. Utilizando-se tolerncia a falhas, muitas falhas potenciais so evitadas, aumentando-se assim a confiabilidade. Um outro objetivo de tolerncia a falhas aumentar a disponibilidade do sistema, isto , aumentar o tempo em que o sistema est disponvel para prover servios. Estratgias de tolerncia a falhas devem aumentar a confiabilidade e disponibilidade de sistemas.
Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim 14

Tolerncia a Falhas

Segurana (safety):

probabilidade do sistema: ou estar operacional e executar sua funo corretamente ou descontinuar suas funes de forma a no provocar dano a outros sistema ou pessoas que dele dependam

Performability:

relacionado a queda de desempenho provocado por falhas sistema continua a operar, mas com queda de desempenho (graceful degradation) P(L,t) : probabilidade que o desempenho do sistema seja no mnimo L no instante de tempo t

Mantenabilidade:

facilidade de realizar a manuteno do sistema quantitativamente: probabilidade que um sistema com defeitos seja restaurado a um estado operacional dentro de um perodo t restaurao : localizao do problema reparo fsico colocao em operao

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

15

Tolerncia a Falhas

Testabilidade:

capacidade de testar certos atributos internos ao sistema facilidade de realizar certos testes relacionada a mantenabilidade teste: manuais, automticos

APLICAES DE SISTEMAS TF

REAS DE APLICAO:

Aplicaes crticas de sistema de tempo real, tais como medicina, controle de processos, transportes areo e urbano. Aplicaes em sistemas de tempo real de longo perodo de durao sem manuteteno, como em viagens espaciais, satlites e sondas . Outras aplicaes: telefonia, redes, sistemas de transao, S.O.

FATORES CONSIDERADOS:

Condies existentes para reparo do sistema: Sistemas no reparveis manualmente; Sistemas reparveis a intervalos Exigncia quanto a continuidade do servio: Funcionamento ininterrupto; Funcionamento interrompvel Tamanho da unidade permutvel no reparo/manuteno (SRU smallest replaceable unit)
16

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

REQUISITOS POR REA:

Sistemas de Tempo Real:

Aplicados no controle, superviso e automao de sistemas tcnicos, tais como: controle de processos industriais, transportes, sistemas mdicos e sistemas de comunicao. Caractersticas e necessidades: Pequeno espao de tempo para deteco e localizao de erros Solues que no prejudiquem o processamento em tempo real Impossibilidade de refazer operes anteriores Garantia de continuidade do processamento em caso de falhas Comportamento livre de falhas (fail-stop)

Sistemas Digitais de telefonia:


Devem apresentar alta disponibilidade Construtivamente, necessitam de componentes de alta qualidade e longa vida til Caractersticas e necessidades: Reconhecimento de erros atravs de superviso cclica Alarme e localizao automtica de erros de SW e HW Isolamento e substituio de componentes durante a operao Tratamento automtico de erros por reconfigurao do sistema

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

17

Tolerncia a Falhas

Sistemas de Transaes:

Pressuposto: a existncia de uma base de dados comum acessada por um grande nmero de usurios de forma interativa e concorrente. Caractersticas e necessidades: Garantia de integridade e consistncia da base de dados Alta disponibilidade: processamento continuado de transaes Tratamento automtico de erros, sem interrupo (desejvel) Reconfigurao de HW e SW, sem interrupo (desejvel)

Redes de servio locais:


Compostas por estaes de trabalho interconectadas por servidor(es) de rede O servidor responsvel por servios de suporte e controle da rede local (armazenamento de dados e arquivos, gerenciamento de documentos, impresso de documentos, conexo a outras redes) Caractersticas e necessidades: Garantia de integridade e redundncia de dados em cada estao Alta disponibilidade do servidor para prover continuidade de servios Tratamento automtico de erros de HW e no servio de rede Reconfigurao da rede em caso de erro, sem interrupo Estabelecimento de novas configuraes com a entrada
18

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

de novas estaes de trabalho, sem interrupo do processamento normal

Sistemas seguros:

A segurana mais importante que a disponibilidade (ex.: bancos, sistemas de transporte terrestre, controle de mquinas ferramenta) Caractersticas e necessidades: Existncia de um estado seguro e facilidade de alcanlo em caso de erro Rapidez no reconhecimento de erros Redundncia para reconhecimento e mascaramento de erros

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

19

Tolerncia a Falhas

O exemplo da Ponte (adaptado por M.L.Lisboa):

Consideraes para projeto: Ambiente onde ser construda Requisitos do sistema. Ex.: Limite de carga suportado Suposio: Passo 0: existe uma ponte (ser que est perfeita?) Passo 1: caminho de 20 ton. atravessando a ponte Passo 2: ponte desmorronou (DEFEITO) percebido pelos usurios A ponte no atendeu seus requisitos

Mas, que falha ocasionou o defeito da ponte? Falha: de especificao: o departamento de estradas no previu uma carga mxima adequada de projeto: os projetistas da ponte no fizeram o projeto satisfazendo o limite mximo de carga de implementao: no processo de construo, no foiseguida corretamente a especificao de operao: houve falha de sinalizao de limite de carga do usurio: motorista ignorou o limite de carga autorizado no meio ambiente: um barco havia colidido com um dos pilares de manuteno: manuteno inadequada causou surgimento de falhas estruturais

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

20

Tolerncia a Falhas

Caso AIRBUS 320

Primeiro avio do mundo monitorado inteiramente por computador Vo inaugural: 28 de maro de 1988 (Air France) Ocorrncia de incidentes tcnicos, principalmente disparo de alarmes Acidentes srios: queda em Habsheim (Alscia) junho de 1988 queda na ndia dezembro de 1989

Objetivo do Projeto: uma falha em 1000 horas de vo Taxa obtida em 1988: 12 falhas em 1000 hs de vo Comparao: primeiro ano do A300 5 falhas em 1000 hs de vo em um ano (abril/88 a abril/89) publicadas 52 correes/anexos ao OEB (Operation Engineering Bulletin) Tipos de falhas registradas neste perodo: 4 aceleraes/freadas na decolagem 36 meias-voltas no solo 10 meias-voltas em vo 1 parada de reator em vo 1 procedimento emergencial de descida, com altitude em aumento

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

21

Tolerncia a Falhas

Registros importantes: modificaes para correo/melhoria do sistema pode ser origem de novos problemas Inexistncia de normas/regulamentao pertinentes ao caso segredo industrial do software embarcado aceitao por demonstrao do resultado (falhas latentes) desconhecimento da organizao do sistema

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

22

Tolerncia a Falhas

ESTRATGIAS DE TOLERNCIA A FALHAS


TF em um sistema digital obtida atravs de redundncia: em hardware em software de informao de computao (temporal) Tipos de aplicaes e tipos de redundncias:
A redundncia pode ser implementada de forma esttica, dinmica ou em configuraes hbridas.

Redundncia Esttica: para operao curta e superconfivel (no h tempo disponvel para diagnstico e reparo) - necessria uma configurao de elementos esttica, que mascare um nmero mximo de falhas (prdefinido). Redundncia Dinmica: envolve o chaveamento de mdulos ou o redirecionamento das cominicaes a medida que as falhas ocorrem. Os componentes falhos so detectados, diagnosticados e reparados ou substitudos. Redundncia Hbrida: existe uma configurao bsica esttica, que mascara um certo nmero de falhas; a medida que os mdulos falhos so detectados, so substitudos dentro da configurao existente. o tipo de redundncia adequada para aplicaes de alta confiabilidade e de longa durao, na qual a probabilidade de ocorrncia de falhas mltiplas alta. Ex.: avio, satlite.
23

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

Atividades em TF
De acordo com Anderson e Lee, tem-se que as atividades relacionadas tolerncia a falhas podem ser subdivididas em quatro fases:

Deteco de erros; Confinamento e avaliao de danos; Recuperao de erros; Tratamento de falhas.

1) Deteco de erros: Consiste no reconhecimento da


existncia de um estado errneo, o qual efeito ou resultante da manifestao de uma falha.

Estado errneo = estado diverso do previsto para o funcionamento normal, na especificao inicial do sistema. A deteco de erros o ponto de partida para as tcnicas de TF. Idealmente, os testes para DE devem: ser baseados s na especificao dos sistemas; representar precisa e completamente a especificao ser independente do sistema (projetistas do sistema X projetistas de testes)

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

24

Tolerncia a Falhas

Na Prtica: h simplificao nas especificaes (custo); no h independncia entre equipes de projeto e teste.
COMPLEMENTAM-SE Deteco em SW

Deteco em HW

Deteco em SW: compreende todas as tcnicas de TF que podem ser implementadas em SW, inclusive as utilizadas para tratar/lidar com falhas de componentes de HW. J o SW tolerante a falhas aquele construdo para tolerar falhas em seus prprios componentes. Reduz desempenho do sistema tem pior deteco mais usada em sistemas comerciais

MECANISMOS DE DETECO:
A) USO DE CPIAS DO SISTEMA (REPLICATION) Tcnica poderosa mas cara Problema: operao de comparao

Ex. 1: Sistema ESS nmero 1A (sistema de controle de telefones da Bell 1953) Down-time projetado: 2 h em 40 anos, com no mais de 0,02% das chamadas manipuladas inadequadamente. Suporte: CPU inteiramente duplicada, com unidades operando em modo sncrono.

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

25

Tolerncia a Falhas

Ex. 2: TMR (Triple Modular Redundance)

M M M V

Ex. 3: Rede temporal, cpia de programas (backup)

B) TESTES DE LIMITE DE TEMPO (TIMING CHECKS) Revelam presena mas no asseguram ausncia de erros. Devem ser usados em conjunto com outras tcnicas Ex. 1: watchdog timers (software) Ex. 2: timeouts em acesso memria se falhar (ou ocorrer condio de excesso) indica erro se no falhar, no h garantia da correo da palavra de memria Ex. 3: mensagens de comunicao entre processadores em intervalos de tempo pr-definidos C) TESTES REVERSOS (REVERSAL CHECKS) A relao entre entrada e sada deve ser biunvoca (mapeamento 1/1) Ex. 1: escrita em fita magntica. L a informao gravada e compara com dados originais Ex. 2: microprogramao: compara operao deduzida com a realmente solicitada Ex. 3: funes matemticas
Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim 26

Tolerncia a Falhas

D) CODIFICAO Uso de redundncia na representao de objetos Erros so mapeados para fora do espao de cdigo Deteco implementada por HW e SW Caractersticas: tcnica eficiente e econmica, mas limitada capacidade de deteco Exemplos: Paridade: barramento, memrias, registradores m-entre-n: armazenamento em ROMs, como controles microprogramados redundncia cclica: blocos de dados armazenados em disco ou transmitidos atravs de canais de comunicao aritmticos (resduos): operaes de CPU, operaes de transmisso e armazenamento envolvendo processamento aritmtico. E) TESTES ESTRUTURAIS Verificam a integridade estrutural de estruturas de dados complexas (listas, filas e rvores). A integridade semntica testada pelos casos anteriores. Para implementar o mecanismo, existe redundncia: na contagem do nmero de elementos da estrutura no uso de ponteiros redundantes na informao de tipo ou estado na estrutura

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

27

Tolerncia a Falhas

Cabea da Lista Primeiro Elemento ltimo Elemento Prximo Elemento Status Dados

Prximo Elemento Status Dados

apontador da lista indica o primeiro elemento e o ltimo teste de consistncia: percorrer a lista compara o ltimo elemento indicado pelo apontador e o indicado pela estrutura

F) TESTES DE COERNCIA (REASONABLENESS CHECKS) Envolve conhecimento da estrutura interna do sistema Possibilidade 1: verificar se um parmetro medido est dentro de uma faixa adequada ou de acordo com a aplicao Possibilidade 2: em SW podem ser similares a testes de tipos: os testes em tempo de execuo devem complementar os realizados em tempo de compilao. Ex.: verificao dos limites de arrays

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

28

Tolerncia a Falhas

Programas de diagnstico testam componentes do sistema e no testam comportamento do sistema so rodados eventualmente e so usados de forma secundria

G) SISTEMAS SEGUROS A FALHAS: Sada correta ou indicao de erro, tem como interesse fundamental o aspecto de deteco de erros. Assim, sua construo baseada principalmente nas tcnicas vistas anteriormente, ou em variaes destas. Sistemas seguros a falhas so embasados no uso de tcnicas de deteco,uma vez que objetivam indicar as situaes nas quais h ocorrncia de erros, e no prope a correo destes erros. Tcnicas de Hardware: cdigos de deteco de erros: paridade, duplicao (e/ou complementao), Berger, m-entre-n duplicao de mdulos: unidades duplicadas atuam em paralelo; as sadas so comparadas Tcnicas de Software: Teste de razoabilidade: verifica se as sadas se enquadram em uma faixa razovel Fcil implementao, boa para depurao de cdigo Repetio do programa: processa, repete, compara Custo alto: dobra o tempo de processamento das aplicaes, detecta apenas falhas temporrias

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

29

Tolerncia a Falhas

Quanto ao funcionamento, pode ser considerada como uma tcnica de redundncia temporal, mas, na implementao, inclui o software para fazer a comparao dos dois momentos de execuo

Tcnicas de Software e Hardware: Proteo de memria: verifica tipos de acesso a regies acessadas (para escrita, por ex.) Processo duplicado Processador watchdog

H) MASCARAMENTO DE FALHAS Quando o objetivo mascarar falhas, ou seja, impedir que os erros se propaguem at sua manifestao como defeitos do sistema, tcnicas de deteco de erros no so suficientes: alm de se perceber que existe algum tipo de divergncia com relao ao resultado esperado (ou com relao especificao inicial do sistema) necessrio ter condies de recuperar a resposta correta. As tcnicas apresentadas abaixo, se usadas convenientemente, podem servir para detectar erros (apresentam maior redundncia que as do grupo anterior, mas tem maior capacidade).

Tcnicas de Hardware: Componentes Quad (componentes discretos) Lgica Quadded (portas lgicas) Triplicao de mdulos: unidades triplicadas atuam em paralelo; as sadas so aplicadas a um votador. Cdigos de correo de erros
30

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

1 2 N (n+1)/N

M M M

V V V

M M M

Cdigo de correo de erros

Tcnicas de Software programas n-verses: criao de n verses de softwares, a partir de uma especificao funcional. Os resultados so aplicados a um votador. blocos de recuperao: requer a escrita de diferentes verses do mesmo programa, mas s executa as verses extra quando for detectado um erro (testes de aceitao). Necessita salvamento peridico dos estados admitidos como seguros (pontos de recuperao). Existe uma variao sobre a tcnica de blocos de recuperao, proposta por Randall. Envolve o salvamento peridico do estado do programa (checkpoint). Sob deteco de falha, repete o programa a partir do estado inicial. efetiva s para falhas temporrias.

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

31

Tolerncia a Falhas

2) Confinamento e Avaliao de Danos:


Manifestao do erro

Falha

Deteco

Conseqncias da latncia de erro:


possvel deteco tardia de falhas espalhamento de seus efeitos danos no sistema

Confinamento de erros:

dependem das decises tomadas a nvel de projeto: as estratgias dependem da estrutura que o projetista incorporou ao Sist. Operacional. Estas estruturas permitem identificar: transaes incorretas desvios nos fluxos de informao do sistema Os mecanismos de confinamento de erros: reforam a estrutura em tempo de execuo impe restries ao fluxo de informaes impedem fluxo acidental de informaes podem funcionar como interfaces de verificao para deteco de erros

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

32

Tolerncia a Falhas

Avaliao da extenso de danos: Estratgias Estticas: so especificadas no projeto inicial do sistema so embasadas nas falhas de hardware servem para primeira estimativa de extenso dos danos

Estratgias Dinmicas: usadas no refinamento das estimativas iniciais atuam pela explorao de estruturas de dados no sistema usam basicamente os mesmos mecanismos empregados para deteco de erros e tcnicas de diagnstico

Medidas e mecanismos Aes atmicas: A atividade do sistema constituda de operaes primitivas que so executadas pelos componentes do sistema (sees de atividade) No permitido o fluxo de informaes entre o processo (ou processos) e o resto do sistema

Isolamento de processos: cada processo no deve ter qualquer capacidade alm da necessria para cumprir sua tarefa toda ao proibida a menos que seja permitida explicitamente (no ocorre ao inesperada) As informaes descrevendo capacidades de cada processo, devem ser protegidas

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

33

Tolerncia a Falhas

Hierarquia de processos: permite a decomposio de um sistema complexo em uma hierarquia aninhada de mquinas abstratas conceito de modularidade integrado ao sistema: maior clareza conceitual e maior confiabilidade Controle de Recursos: implementa a atribuio de unidades de recursos fsicos a objetos computacionais na desvinculao: o estado da unidade deve ser salvo, e a unidade colocada em estado nulo; na reatribuio: deve restaurar o estado da unidade da ltima preempo. Formas prticas: definio de modos supervisor e usurio (um programa supervisiona outro) uso de anis de proteo (encapsulamento) emprego do conceito de mquinas virtuais definio de capacidades (o que cada um pode fazer)

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

34

Tolerncia a Falhas

3) Recuperao de erros:

So tcnicas que visam transformar o estado atual incorreto do sistema em um estado livre de falhas, escolhido e definido durante a especificao, a partir do qual pode ser retomada a operao normal do sistema. So classificadas em dois grupos complementares e NO exclusivos. Ambos buscam um novo estado livre de falhas. Tcnicas de Avano (forward error recovery): Consiste na transformao do estado errneo, efetuando correes para remover erros. O sistema conduzido a um novo estado, no ocorrido anteriormente, ou a um estado por onde o sistema no passou desde a ltima manifestao de erro.

Caractersticas: Pode ser eficiente, mas especfico a cada sistema No pode ser implementado atravs de mecanismos Depende da extenso dos danos Mostra-se adequado apenas quando os danos podem ser previstos antecipadamente, de forma razoavelmente acurada. Tcnicas de Retorno (backward error recovery): O sistema conduzido a um estado pelo qual passou antes da ocorrncia do erro, descartando toda a informao referente ao estado atual. Pressupe o estabelecimento de pontos de retorno, que so instantes durante a execuo de um processo, a partir dos quais o estado corrente pode ser restaurado.
35

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

Caractersticas: Pode ser bastante onerosa em termos de implementao Pode apresentar problemas em casos onde h manipulao de objetos que no podem ser restaurados, mas Pode ser facilmente implementado atravs de mecanismos Independe da extenso dos danos Tem aplicabilidade geral aos sistemas Possibilita recuperao mesmo para falhas no previstas, incluindo as de projeto. Implementao: Pontos de verificao (check points): Salvamento do estado do sistema nos pontos de recuperao: testa nos pontos de verificao(A execuo com
sucesso de um ponto de verificao resulta no armazenamento de informaes (ponto de recuperao) para futuramente poder, a partir da deteco de erros, refazer operaes sem voltar ao ponto inicial. O estado do sistema armazenado como ponto de recuperao permite refazer as operaes a partir de um estado de processamento intermedirio).

Pistas de Auditoria (Audit Trails): a partir dos pontos de recuperao, monitora atividades e gaurda informaes das modificaes (log). Cache de Recuperao (Recovery Cache): Armazena valores dos objetos que esto prestes a modificados (valores incrementais, pontos de verificao parciais). Aplicam-se recuperao em arquivos e no em processos.
36

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

Tolerncia a Falhas

Estas solues so: Simples em sistemas mono-processados ou com mltiplos processos independentes Complexas em sistemas com mltiplos processos concorrentes (competitivos ou cooperativos).

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

37

Tolerncia a Falhas

4) Tratamento de falhas:

Pressupostos Bsicos: Fase de deteco de erros, confinamento e avaliao de danos e recuperao de erros no garantem identificao da falha que originou o erro ou erros subseqentes. Hipteses de falhas supem a ocorrncia de uma falha por vez.

Assim, necessria uma nova fase que: tenta localizar a falha de forma precisa; repara a falha ou reconfigura o restante do sistema. Procedimento bsico: 1) substituio do mdulo (ou afastamento deste e configurao do sistema para operao temporria); 2) localizao precisa da falha, execuo de manuteno, retomada da operao integral do sistema. Para esta fase, a opo de auto-reparo necessria para os sistemas que operam sem atendimento por longos perodos de tempo e necessitam de reposio dos componentes falhos aps sua reconfigurao.

PROGRAMAO DIVERSITRIA (PNV)


Caractersticas: mascara vrios tipos de falhas entrada idntica para as verses mltiplas sada nica por votao (maioria) O mdulo de deciso implementado utilizando como algoritmo base um mtodo genrico de deteco de erros.
Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim 38

Tolerncia a Falhas

Verso 1 Entradas Verso 2 Verso n

Sada 1 Sada 2 Sada n MDULO DE DECISO Sada

Aspectos de Implementao: Necessidades especificao completa e precisa independncia de projeto e implementao prover um ambiente de suporte ininterrupto e isento de falhas recuperar verses com falhas Problemas: no mdulo de deciso: h alguns problemas de preciso (pto flutuante), principalmente referentes comparao de resultados (so iguais ou no?) alto custo de desenvolvimento eficcia? similaridade de erros residuais tempos de execuo diferentes das verses Recomendaes de uso: em pontos parciais da computao em mdulos sem interao como orculo de testes

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

39

Tolerncia a Falhas

BLOCOS DE RECUPERAO (BR)


Verso 1: mdulo primrio Verso 2 a n: mdulos alternativos
Verso 1 Sada 1
Sada 1 no aceita

Entradas

Sada MDULO DE ACEITAO

Verso 2

Sada 2
Sada n-1 a no aceit

Verso n Sada n

Teste de Aceitao: assero sobre o estado do mdulo uma falha da assero pode causar erro no estado do mdulo que ser sinalizado pela sada no aceita. O procedimento a seguir ser a execuo de uma nova alternativa. Implementao: gerao de verses independentes de mesma funcionalidade estabelecer prioridades das verses (velocidade X complexidade/confiabilidade) preservar estado inicial da computao blocos podem ser aninhados nveis com alternativas prprias retrocesso do estado da computao
Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim 40

Tolerncia a Falhas

Dificuldades: Execuo paralela: efeito domin complexidade do algoritmo de aceitao controle de retrocesso respostas mltiplas (corretas) variao no tempo de execuo de verses

PROGRAMAO AUTO-VERIFICADORA
Uso de tcnicas combinadas de programao n-verses e/ou blocos de recuperao. A figura a seguir ilustra: esquerda, o uso de reservas na modalidade n-verses e direita, o uso de reservas na modalidade de blocos de recuperao

PRINCIPAL

RESERVAS

PRINCIPAL

RESERVAS

Algoritmo de Comparao

Algoritmo de Aceitao

PNV

BR

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

41

Tolerncia a Falhas

O termo reserva quente aplicado a situaes de replicao ativa, isto , os mdulos que esto ativos permanecem energizados da mesma forma que aqueles que esto desempenhando as funes normais. O termo reserva fria usado para referenciar as situaes de replicao nas quais os mdulos permanecem inativos, e normalmente sem alimentao.

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

42

Tolerncia a Falhas

Alta Disponibilidade
Com as redes e hardwares tornando-se cada vez mais rpidos a custos atrativos, depende-se cada vez mais de sistemas computacionais para realizar tarefas crticas, nos quais uma falha acarretaria prejuzos materiais, financeiros, e at em perda de vidas humanas. Uma vez que falhas acontecem, tcnicas so usadas para garantir a disponibilidade destes servios, mesmo em caso de erros. Estas tcnicas podem ser tanto no nvel de hardware como no de software. Atravs de hardwares redundantes tolerante a falhas, a falha de um componente compensada pela utilizao de outro. Devido ao alto custo de tal soluo, clusters so montados e configurados de modo a atingir um comportamento semelhante: a falha de um n compensada pelo failover dos servios comprometidos para outro n.

Conceitos Bsicos e Definies


Primeiramente, necessrio compreender que a redundncia de recursos um pr-requisito para se atingir um alto grau de disponibilidade, pois necessria para se eliminar os pontos nicos de falha (single point of failures SPOF). importante lembrar que os SPOF no se restringem somente aos recursos do hardware das mquinas, existindo tambm nas:
Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim 43

Tolerncia a Falhas

Redes de Computadores (switches, routers, hubs, cabeamento, etc) que disponibilizam os servios ao mundo externo. Redes Eltricas que alimentam as mquinas. Ainda, nada adianta utilizar mais de uma rede eltrica para alimentar as mquinas se elas saem na rua em num mesmo poste, cuja destruio poderia comprometer todos os servios. Localizaes dos Recursos. Deve-se lembrar que desastres (terremotos, furaces, ataques terroristas, etc) podem inviabilizar toda a operao de uma companhia, se esta tiver suas informaes e sistemas operando em somente um lugar fsico.

Assim, fica claro que quando fala-se em um sistema de alta disponibilidade, este deve englobar muito mais do que um simples sistema de redundncia de recursos. claro que tudo isto depende do grau de disponibilidade que se deseja atingir; por exemplo, uma disponibilidade contra ataques terroristas no pretendida na maioria das situaes. Tambm, fcil perceber que quanto maior o grau de disponibilidade que se deseja atingir, maiores sero os gastos com a soluo.

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

44

Tolerncia a Falhas

Outro detalhe a ser abordado sobre alta disponibilidade como medi-la. Em termos tcnicos, a disponibilidade de certo servio dita como sendo a probabilidade de encontr-lo operando normalmente em determinado momento. Portanto, tal probabilidade leva em conta qual o provvel uptime (tempo em que os servios estaro funcionando) e o provvel downtime (tempo em que os servios ficaro fora do ar). Tambm muito comum utilizar-se uma notao diferente, baseada nesta probabilidade da disponibilidade, com uma abordagem mais voltada ao marketing: mede-se a disponibilidade a partir do nmero de noves do uptime que uma soluo prov. Assim, uma soluo que oferece 99.999% de uptime possui 5 noves. A tabela abaixo exibe alguns uptimes, e mostra como muitas vezes no se necessita de muita disponibilidade para certos servios. claro, tambm , que no desejamos que o downtime ocorra em momentos inoportunos, por menores que sejam.
Tabela 1: Medindo a Disponibilidade
UPTIME 98% 99% 99.8% 99.9% 99.99% 99.999% DOWNTIME DOWNTIME POR ANO 2% 1% 0.2% 0.1% 0.01% 0.001% 7.3 dias 3.65 dias 17 horas, 30 minutos 8 horas, 45 minutos 52.5 minutos 5.25 minutos 31.5 segundos DOWNTIME POR SEMANA 3 horas, 22 minutos 1 hora, 41 minutos 20 minutos, 10 segundos 10 minutos, 5 segundos 1 minuto 6 segundos 0.6 segundos

99.9999% 0.0001%

Prof. Paulo Ricardo Rodegheri - URI - Campus de Erechim

45

Potrebbero piacerti anche