tolerância a falhas -...

12
Tolerância a Falhas

Upload: others

Post on 02-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

Tolerância a Falhas

Page 2: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 3: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 4: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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

Page 5: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 6: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 7: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 8: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 9: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 10: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 11: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.

Page 12: Tolerância a Falhas - lrodrigo.sgs.lncc.brlrodrigo.sgs.lncc.br/.../uploads/2013/08/SD_Tolerancia_a_falhas.pdf · Injeção de falhas por software: neste tipo de injeção são utilizados

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.