tolerância a falhas -...
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022071211/60232302c53d9b43f5615c71/html5/thumbnails/12.jpg)
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.