Você está na página 1de 5

Conceitos Introdutrios de Tolerncia a Falhas Atributos de Qualidade para um Software Confivel (Dependable) Disponibilidade: propriedade de um sistema estar pronto

para ser utilizado imediatamente; Confiabilidade: propriedade do sistema continuar em execuo contnua sem falhas. Se um sistema fica indisponvel por um milissegundo a cada hora, ter uma disponibilidade de 99,9999% mas altamente no confivel. De forma semelhante, se nunca falha mas desligado duas semanas todo ms de agosto, possui alta confiabilidade mas apenas 96 % de disponibilidade; Segurana: refere-se situao de quando uma sistema temporariamente no opere corretamente, nada de catastrfico ao ambiente ocorra; Mantenabilidade: define a facilidade de se reparar sistemas que falharam. Um sistema de fcil manuteno pode tambm apresentar alta disponibilidade, especialmente se falhas puderem ser detectadas e reparadas automaticamente; Segurana: prevenir o acesso e manipulao no autorizado de informaes. Um sistema apresenta um defeito caso no consiga cumprir suas promessas (especificaes); Defeitos so causados por falhas em componentes do sistema; Um erro uma parte do estado do sistema que pode levar a uma falha. Ou seja, o sistema est em estado de erro se o processamento posterior a partir deste estado pode levar a uma falha. Preveno de falhas: tentar prevenir a ocorrncias de falhas (sua introduo no sistema); Tolerncia a falhas: fazer com que o sistema continue prestando seus servios mesmo na presena de falhas. Tenta-se eliminar as falhas antes do uso regular do sistema; Foco em metodologias para projeto, teste e validao de sistemas; Se usada de forma exclusiva, no h redundncia e todos os componentes devem funcionar corretamente; Recuperao manual em caso de defeito, o que inaceitvel para algumas aplicaes: 1 Tempo imprevisvel para manuteno manual, tornando a abordagem invivel para sistemas de tempo real; 2 Indisponibilidade do sistema durante sua recuperao manual, agravado quando o sistema e manuseado por pessoas no qualificadas em sua recuperao: explorao espacial; 3 Custos elevados de manuteno e associado ao tempo indisponvel, como em sistemas bancrios e de defesa. Ttcnicas de preveno de falhas podem ser combinadas com ttcnicas de tolerncia a falhas, cujo foco em como construir componente cujas falhas podem ser mascaradas.

Uma caracterstica que distingue sistemas distribudos de sistemas centralizados a noo de falha parcial; Uma falha parcial ocorre quando um componente no sistema distribudo falha; Um objetivo importante do projeto de um sistema distribudo constru-lo de forma que possa se recuperar automaticamente de falhas parciais sem afetar dramaticamente o desempenho geral. Deteco de Erro Falhas e defeitos no podem ser diretamente observados, mas podem ser deduzidos pela presena de erros; Como erros so definidos pelo estado do sistema, verificaes podem ser realizadas para verificar a existncia dos mesmos; Mecanismos de deteco de erros muitas vezes so chamados de deteco de defeitos/falhas. Propriedades Importantes na Deteco de Erro 1 Um detector ideal deve ser determinado somente a partir das especificaes do sistema e no devem ser influenciados pelo projeto interno do sistema; 2 Deve ser completo e correto, detectando todos os erros possveis no comportamento do sistema que podem ocorrer na presena das falhas que se deseja tolerar, nunca informando um erro quando ele no estiver presente; 3 Deve ser independente do sistema com relao a sua susceptibilidade de falha. Se o detector falhar sempre que o sistema falhar, ele no ser util. Propriedades Importantes na Deteco de Erro Em sistemas reais os critrios anteriores raramente podem ser completamente satisfeitos: Tipicamente no vivel realizar uma deteco completa devido a custos financeiros ou de desempenho, alm de verificaes muito complexas poderem falhar; Independncia completa normalmente no pode ser obtida, j que o sistema e o detector usualmente compartilham algum ambiente (fonte de energia, sala, etc). Portanto, o objetivo manter o custo da deteco de erro baixo, maximizando os erros que so detectados; No h garantias de que todos os erros sero detectados, mas sim que a maioria daqueles de interesse, particularmente os que possuam maior probabilidade de ocorrer, sero detectados. Detectores Replicados Replica-se algum componente do sistema; Os resultados dos componentes replicados so comparados ou votados para a deteco de erros; Mtodo caro para deteco de erros; Usualmente empregado para deteco de erros em componentes de hardware; Evidentemente, este tipo de deteco no funcionar caso o projeto do sistema possua falhas.

Detectores Temporais Se a especificao de um componente incluir restries de tempo, um detector temporal pode ser utilizado para verificar se estas esto sendo respeitadas; Uma violao de tempo indica que o componentes est se comportando incorretamente; Utilizado frequentemente tanto em sistemas de hardware quanto de software. Detectores Estruturais e de Cdigo Em qualquer dado, dois tipos de verificaes podem ser realizadas: 1 Verificao semntica, que tenta garantir se o valor do dado e consistente com o restante do sistema; 2 Verificao estrutural, que verifica se a estrutura do dado e consistente com o que deveria ser. A forma mais usual de verificao estrutural, usualmente empregada em hardware, e a codificao, na qual bits so adicionados aos dados e esto relacionados a estes. Detectores de Estado Razovel Determina se o estado de um dado objeto do sistema razovel; Um exemplo tpico verificar se um dado valor est dentro de uma dada faixa; Uma variao monitorar a taxa de mudana de um dado valor. Esta taxa deve estar dentro de algum limite; Outra possibilidade o uso de asseres sobre o estado sistema, uma expresso lgica relativa ao valor de diferentes variveis do sistema que deve ser avaliada como verdadeiro caso o sistema esteja consistente. Confinamento de Dano Devido a interaes entre os componentes, um erro pode ser propagado para outras partes do sistema; Portanto, aps detectar um erro e antes de recuperar o sistema do estado de erro necessitamos determinar os limites do estado corrompido; O objetivo identificar o limite no estado alm do qual nenhuma troca de informao ocorreu. O dano estar confinado a este limite; Os limites podem ser identificados dinamicamente, registrando-se e examinando o fluxo de informao entre componentes; Pode-se ainda projetar o sistema de forma que portas ante-incendio sao estaticamente incorporadas ao sistema. Recuperao do Erro: Tcnicas Bsicas 1 Recuperao por retrocesso O estado do sistema recuperado para um estado anterior, assumindo-se que este esteja livre de erro; Exemplo: uso de checkpointing. 2 Recuperao para frente Avana o sistema para um estado livre de erro atravs de aes corretivas; Somente conhecendo a natureza exata do erro pode-se remover o erro atravs de aes corretivas; usualmente dependente da aplicao e do sistema.

Tratamento de Falha e Continuidade do Servio Se a falha permanente, o componente com problema deve ser identificado e no mais utilizado aps a recuperao; A recuperao compreende uma reconfigurao dinmica do sistema, sem intervenes manuais; Uma estratgia simples para se atingir isso o uso de stanby spare: quando o componente principal falhar, um componente redundante passa a ser utilizado. Classificao de Falhas Transientes: ocorrem uma vez e desaparecem. Ex: um pssaro passando em frente a um transmissor de micro-ondas; Intermitentes: ocorrem, desaparecem e reaparecem. Ex: conector mal conectado; Permanentes: ocorrem continuamente at que o componente defeituoso seja reparado. Ex: bugs de software. Modelos (Tipos) de Falhas A falha arbitrria a mais grave e tambm conhecida como falha bizantina. Um servidor pode gerar sadas que no deveriam ser produzidas mas so difceis de detectar. Pior ainda: ele pode estar maliciosamente trabalhando em conjunto com outros servidores para produzir respostas erradas; A falha mais benigna a queda (crash) e tambm so conhecidas como fail-stop failure; Existe tambm a situao no qual um servidor est gerando sadas aleatrias mas que podem ser reconhecidas pelos demais processos como lixo. Neste caso, o servidor est apresentando falhas arbitrrias de forma benigna. Estas falhas so conhecidas como sendo fail-safe. Redundncia A tcnica bsica para mascarar defeitos a utilizao de redundncia; Tipos de redundncia: De informao: bits extras so adicionados para permitir recuperao de bits trocados. Ex: cdigo de Hamming; Temporal: uma ao realizada e, caso necessrio, repetida. Ex: uso de transaes. Este tipo de redundncia particularmente til no caso de faltas transientes ou intermitentes; Fsica: equipamentos ou processos so adicionados para permitir que o sistema como um todo supere a perda ou mau funcionamento de alguns componentes.

Você também pode gostar