![Page 1: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/1.jpg)
Tolerância a Falhas
![Page 2: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/2.jpg)
falhas em sistemas distribuídos
• Lamport: “A distributed system is a system where I can’t get any work done if a machine I’ve never heard of crashes.”
– sistemas distribuídos e falhas parciais • tolerância a falhas
![Page 3: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/3.jpg)
Erros, falhas, etc
• 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 transformem em erros
• classificação de falhas
![Page 4: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/4.jpg)
Tipos de falhas
• modelos baseados em comportamento de servidores – omissão – temporização – falhas arbitrárias
• ou bizantinas
![Page 5: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/5.jpg)
falhas de omissão
• fail-stop – processo “cai” e isso é detectável por parceiros
• crash – processo “cai” e parceiros podem não detectar
• relação com tempo de comunicação
• omissão – processo envia mensagem mas ela não é
recebida do outro lado
![Page 6: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/6.jpg)
falhas de temporização
• relacionadas com restrições temporais: – relógio físico tem desvio superior ao permitido – transmissão de mensagem demora tempo demais – ...
• relação com modelos síncronos
![Page 7: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/7.jpg)
falhas arbitrárias
• respostas podem ocorrer ou não • conteúdo pode ser correto ou não
– difícil detecção!
– também chamadas de falhas bizantinas
![Page 8: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/8.jpg)
Tolerância a falhas & dependabilidade
• uso de “tolerância a falhas” por vezes considerado enganador – dependabilidade: idéia de que se pode confiar no
sistema (apesar de possíveis erros)
![Page 9: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/9.jpg)
Dependabilidade - atributos
• Confiabilidade (reliability) – capacidade de atender a especificação, dentro de condições definidas,
durante certo período de funcionamento e condicionado a estar operacional no início do período
• Disponibilidade (availability) – probabilidade do sistema estar operacional num instante de tempo
determinado; alternância de períodos de funcionamento e reparo • Segurança (safety)
– probabilidade do sistema ou estar operacional e executar sua função corretamente ou descontinuar suas funções de forma a não provocar dano a outros sistema ou pessoas que dele dependam
• Segurança (security) – proteção contra falhas maliciosas, visando privacidade, autenticidade,
integridade e irrepudiabilidade dos dados
![Page 10: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/10.jpg)
confiabilidade e disponibilidade
• medidas relacionadas: – MTTR – tempo médio de reparo – MTBF – tempo médio entre falhas
garantia de funcionamento a partir de certas condições confiabilidade
intervalos para reparo - disponibilidade
![Page 11: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/11.jpg)
Técnicas de Dependabilidade
– detecção da falha – ..., localização, confinamento – reconfiguração – recuperação de erro
ou
– mascaramento
![Page 12: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/12.jpg)
recuperação
• passa o sistema para um estado correto – forward recovery – backward recovery
– relação com logging e checkpoints
![Page 13: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/13.jpg)
recuperação de falhas com checkpoints
• processos gravam infos de estado de tempos em tempos para poderem recuperar estado
– gravação em log estável ou em réplicas • mensagens enviadas ou recebidas • globais • em alguns casos pilha completa
– captura de estado de execução
X
![Page 14: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/14.jpg)
captura de estado
• diferentes aplicações – tolerância a falhas, persistência, migração
• o que é realmente importante capturar? – globais?
• programa como máquina de estado • rotinas de reinicialização
– pilha completa – estado externo
• arquivos abertos, etc
![Page 15: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/15.jpg)
checkpoints distribuídos
• os checkpoints dos diversos processos em uma aplicação distribuída não podem ocorrer de forma independente – cortes consistentes e checkpoints coordenados
![Page 16: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/16.jpg)
referência
– Elnozahy, E. N., Alvisi, L., Wang, Y., and Johnson, D. B. A survey of rollback-recovery protocols in message-passing systems. ACM Comput. Surv. 34, 3 (Sep. 2002), 375-408.
![Page 17: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/17.jpg)
mascaramento
• técnica básica é a redundância • classes de redundância:
– redundância de informação • códigos como Hamming
– redundância temporal • operações repetidas (por exemplo, em transações)
– redundância física • processos, dados ou hardware
![Page 18: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/18.jpg)
Replicação
• tolerância a falhas – correção e disponibilidade
• desempenho
• ... é ou não um caso de distribuição instrínsica?
![Page 19: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/19.jpg)
modelo de sistema
• falhas do tipo crash • partições na rede não ocorrem • sistema composto por gerentes de réplicas
(ou servidores) • cada gerente de réplica sabe fazer
recuperações • conjunto de réplicas pode ser estático ou
dinâmico
![Page 20: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/20.jpg)
replicação
FE C
RM
RM
RM FE C
• transparência • consistência
![Page 21: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/21.jpg)
processamento de requisições
1. envio da msg pelo front-end – para uma réplica ou para todas
2. coordenação – gerentes se coordenam para fazer a entrega
3. execução – réplicas executam a requisição
4. acordo – consenso sobre o efeito da requisição
5. resposta – uma ou mais réplicas respondem ao front-end
![Page 22: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/22.jpg)
Grupos de processos
– serviços de envio • envio atômico • envios ordenados: fifo, causal e total
– serviços de controle de participantes – servidor de grupo ou membership server – saídas do grupo também podem ocorrer por
falhas
– gerentes de réplicas responsáveis por implementação de filas de entrega, etc
![Page 23: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/23.jpg)
ordenação com falhas
X
• multicast confiável • multicast atômico: confiável + ordem total
![Page 24: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/24.jpg)
ordenação causal ou total
• como visto antes
![Page 25: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/25.jpg)
grupos estáticos e dinâmicos
• para tolerância a falhas, é importante levar em consideração a possibilidade de entradas e saídas
![Page 26: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/26.jpg)
serviços de gerência de grupos
• interface de acesso: – criação e destruição de grupos – retirada e adesão de processos a grupos
• serviço de detecção de falhas • notificação:
– serviço avisa membros do grupos sobre entradas e saídas (programadas ou não)
– falamos em visões do grupo • view-synchronous group communication
![Page 27: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/27.jpg)
controle de grupo
• necessidade de manter as visões consistentes com outras atividades
X
avisos sobre nova visão do grupo
novo processo
![Page 28: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/28.jpg)
outras arquiteturas
• menor rigidez nos requisitos de sincronismo – gossip (difusão oportunista)
![Page 29: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/29.jpg)
consenso em sistemas distribuídos
• em várias situações, os processos de um grupo têm que chegar a um valor comum – ordenação total – coordenação de atividades – valor a ser respondido em uma consulta – ...
• em sistemas com falhas bizantinas… – algoritmos de consenso – pelo menos 2/3 dos processos devem estar
corretos
![Page 30: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/30.jpg)
problema dos generais bizantinos
A
T
B
recuar
recuar
atacar
atacar
![Page 31: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/31.jpg)
replicação ativa e passiva
• ativa: gerentes de réplica são máquinas de estado com papéis equivalentes
• passiva: a cada momento uma única cópia primária e uma ou mais cópias secundárias
![Page 32: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/32.jpg)
replicação ativa
FE C FE C RM
RM
RM
![Page 33: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/33.jpg)
replicação passiva
FE C
FE C
RM Primary
Backup
Backup RM
RM
![Page 34: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/34.jpg)
abordagens híbridas
• consultas em qualquer cópia • atualizações apenas na cópia primária
c1
c3
c4 c2
Backup
s1
s3 s4
s2
![Page 35: Tolerância a Falhas - Departamento de Informáticanoemi/sd-10/tolfalhas.pdf · – probabilidade do sistema estar operacional num instante de tempo determinado; alternância de períodos](https://reader030.vdocument.in/reader030/viewer/2022020318/5c12958609d3f2e3218b48c0/html5/thumbnails/35.jpg)
referências
– Ihor Kuz, Gernot Heiser. Fault Tolerance. Notas de aula, Universidade de New South Wales. (na página do curso)
– Ken Birman. Reliable Distributed Systems: Technologies, Web Services, and Applications. Springer, 2005.
– Rachid Guerraoui, L. Rodrigues. Reliable Distributed Programming. Springer, 2006.
– Jean Dollimore, Tim Kindberg, George Coulouris. Distributed Systems: Concepts and Design. Addison-Wesley, 2005.