35
Tolerância a Falhas

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

  • Upload
    buithuy

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.