Please enable JavaScript.
Coggle requires JavaScript to display documents.
Aula 15 - Tolerância à Falhas - Coggle Diagram
Aula 15 - Tolerância à Falhas
1
Tolerância à Falhas
Existe diferença entre falhas em máquinas convencionais e distribuídas?
Existe sim, as máquinas distribuídas lidam com
falhas parciais
, as máquinas convencionais lidam com
falhas totais
.
Falhas parciais
Apenas alguns componentes falham.
Falhas totais
Afetam todos os componentes.
O que é?
Técnicas de recuperação automatica a falhas parciais, sem afetar seu desempenho global.
Qual a diferença entre defeito, erro e falha?
Defeito
Está relacionado com o propósito do sistema, ou seja, ele não pode cumprir as suas "promessas".
Erro
É um estado do sistema que pode levar a um defeito.
Falha
É a causa de um erro do sistema.
Tipos de falhas
Falha transiente
Ela ocorre uma vez e desaparece.
Falha intermitente
Ela ocorre, para por um periódo indeterminado, reaparece e assim por diante.
Falha permanente
Ela continua a existir até que o componente faltoso seja substituído.
2
Mascaramento de falha
O que é?
É um processo de ocultar as falhas de outros processos e usuários, a fim de permitir que o sistema tolere falhas parciais.
A principal técnica de marcaramento de falhas é a redundância e temos três tipos:
redundância de informação
,
redundância de tempo
e
redundância física
.
Redundância de informação
Podemos inserir bits extras aos dados transmitidos para recuperação de bits deteriorado por linhas ed transmissão.
Redundância de tempo
Quando a ação é realizada novamente após um determinado tempo, se necessário.
Redundância física
Quando processos ou equipamentos extras são adicionados para possibilitar que o sistema possa tolerar a perda ou mau funcionamento de alguns componentes.
3
Estratégias de tolerância a falhas
As estratégias de tolerância a falhas são divididas em:
resiliência de processos
e
acordo em sistemas com falha
.
Resiliência de processos
Uso de grupos para alcançar a resiliência
Os processo são organizados em grupos para tolerar as falhas.
Os processos dentro do grupo se comunicam entre sí e podem se organizar de duas formas:
grupos simples
e
grupos hierárquicos
.
Grupos simples
Todos os processos são iguais dentro de um grupo e as decisões são tomadas coletivamente.
Vantagens
Não temos um único ponto de falha.
Desvantagens
A tomada de decisão pode ser complicada, pois temos a necessidade de uma votação, que gera um atraso e custo adicional.
Grupos hierárquicos
Existe um processo coordenador e os demais são chamados de operários.
Vantagens
As decisões são centralizadas, logo, são tomadas de forma mais rápida.
Desvantagens
Temos um único ponto de falha, caso o coordenador falhe, o serviço falhará.
Os processos dentro dos grupos precisam se comunicar entre sí e tomar decisões, existem portanto algoritmos para lidar com a troca de mensagens entre os processos:
algoritmos de consenso
.
Algoritmos de consenso
O que é?
Determina quais mensagens devem ser trocadas em um grupo e o que cada participante faz com ela.
Tipos de algoritmo de consenso:
consenso por inundação
,
paxos
,
PBFT
,
algoritmo de raft
.
Consenso por inundação
Paxos
1 more item...
Algoritmo de raft
1 more item...
PBFT (Pratical Bizantine Fault Tolerance)
1 more item...