tolerância a falhas -...

Post on 02-Oct-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Tolerância a Falhas

Sistemas Distribuídos é a junção de computadores + rede +aplicação onde os computadores que estão conectados em redecoordenam suas ações através de troca de mensagens e seapresenta para os usuários como um sistema único e coerente.

Sabemos da existência de um Sistema Distribuído quando afalha de um computador, que até então não sabíamos de suaexistência, nos impede de executar nossas tarefas.

Na busca de sistemas mais confiáveis, alguns meios foramdesenvolvidos para oferecer mais confiança aos sistemas, entre elesestá a tolerância a falhas. Tendo em mente que falhas são inevitáveis,procura-se atribuir aos sistemas a capacidade de tolerar a ocorrênciade falhas, apresentando funcionamento desejado ou pré-definido,evitando assimdanos ao usuário.

Na área de tolerância a falhas, os termos falha, erro e defeito (ou falta)apresentam diferentes significados.

Problemas inevitáveis: falhas (faults)– máquinas quebradas, desconexões, erros no software• erros (failures) -> consequências dessas falhas nomenclaturas variam– mas temos que manter consistente a idéia de tolerância a falhas– tolerância a falhas: evitar que falhas se transformemem erros

Para o melhor entendimento, esses conceitos podem serrepresentados utilizando-se o Modelo de Três Universos (WEBER, 2000b,

Sld 5) (SANTOS & CAVALCANTE, 2000, Cap 2. p.10).

O primeiro é o Universo Físico, que compreende os dispositivossemicondutores, elementos mecânicos, fontes de energia, ou qualqueroutra entidade física.Uma falha ocorre nesse universo.

O Universo da Informação compreende os dados manipulados pelosistema, e é onde um erro pode ocorrer, em virtude da existência dealguma falha no Universo Físico.

O último universo é o Externo ou do Usuário. É neste onde o usuáriofinal percebe que o sistema apresentou comportamento indesejado e,portanto, possui um defeito.

Como podemos perceber na figura abaixo, uma falha pode acarretarem um erro e um erro pode acarretar em um defeito Mas, segundo(WEBER, 2000b, Sld 6), existe entre uma falha e um erro, e entre umerro e um defeito uma fase chamada latência.

Latência de Falha é o período de tempo entre a ocorrênciada falha até a manifestação do erro devido aquela falha.

Latência do Erro é o período de tempo entre a ocorrênciado erro até a manifestação do defeito devido aquele erro.

As falhas pode sem classificadas como Físicas (causadas porfenômenos naturais como desgaste de material...) ou Humanas(introduzidas no sistema pela ação do homem.

Uma característica que distingue sistemas distribuídos desistemas centralizados é a noção de falha parcial;

Uma falha parcial ocorre quando um componente no sistemadistribuído falha;

Um objetivo importante do projeto de um sistema distribuído éconstruí-lo de forma que possa se recuperar automaticamentede falhas parciais sem afetar dramaticamente o desempenhogeral.

Transientes: ocorrem uma vez e desaparecem. Ex.: um pássaropassando em frente a um transmissor de micro-ondas;

Intermitentes: ocorrem, desaparecem e reaparecem. Ex.: conectormal conectado;

Permanentes: ocorrem continuamente até que o componentedefeituoso seja reparado. Ex.: bugs de software.

Técnica de recuperação: para que um sistema não sofrapane total, ao ser detectada uma falha o sistema deve serautomaticamente reconfigurado, realocando o processo paracaminhos alternativos.

Técnicas de Replicação: permite facilitar a criação deréplicas ou copias de um mesmo objeto em meios físicos diferentes.

Técnica de Gerenciamento de Grupo: técnica onde osobjetos são integrados em subgrupos diferentes, contendo cadagrupo uma referência única.

Injeção de falhas por hardware: neste tipo de injeção ohardware é forçado a erros através de mudanças de valores lógicosno próprio circuito (por exemplo, injetamos o nível lógico 0 em umCI, onde deveria receber o nível lógico 1 forçando uma falha.

Injeção de falhas por software: neste tipo de injeção sãoutilizados softwares que tentam corromper o código do sistema,modificar características de comunicação, etc.

Injeção de falhas por simulação: neste tipo de injeção, háuma simulação de possíveis falhas que possam ocorrer no sistemaainda mesmo em tempo de projeto.

Em muitas áreas computadores realizam tarefas críticas eque envolvem vidas humanas: sistemas de controle de voo,monitoramento de pacientes, sistemas de controle e controle detráfego aéreo;Outras áreas de aplicação dependem fortemente de computadores,cuja falha pode gerar grandes perdas financeiras ou deoportunidades;Todas estas áreas requerem sistemas altamente confiáveis, dado suadependência deles.Ou seja, para um sistema distribuído ser altamente confiável, elenecessita de utilizar técnicas de tolerância a falhas, visandominimizar/eliminar o impacto ao usuário, quando o mesmo falha.

top related