• Nenhum resultado encontrado

Tolerância a Falhas

N/A
N/A
Protected

Academic year: 2022

Share "Tolerância a Falhas"

Copied!
35
0
0

Texto

(1)

Tolerância a Falhas

(2)

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

(3)

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

(4)

Tipos de falhas

•  modelos baseados em comportamento de servidores

–  omissão

–  temporização –  falhas arbitrárias

•  ou bizantinas

(5)

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

(6)

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

(7)

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

(8)

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)

(9)

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

(10)

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

(11)

Técnicas de Dependabilidade

–  detecção da falha

–  ..., localização, confinamento –  reconfiguração

–  recuperação de erro ou

–  mascaramento

(12)

recuperação

•  passa o sistema para um estado correto

–  forward recovery –  backward recovery

–  relação com logging e checkpoints

(13)

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

(14)

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

(15)

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

(16)

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.

(17)

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

(18)

Replicação

•  tolerância a falhas

–  correção e disponibilidade

•  desempenho

•  ... é ou não um caso de distribuição instrínsica?

(19)

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

(20)

replicação

FE C

RM

RM

FE RM C

•  transparência

•  consistência

(21)

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

(22)

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

(23)

ordenação com falhas

X

•  multicast confiável

•  multicast atômico: confiável + ordem total

(24)

ordenação causal ou total

•  como visto antes

(25)

grupos estáticos e dinâmicos

•  para tolerância a falhas, é importante levar

em consideração a possibilidade de entradas

e saídas

(26)

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

(27)

controle de grupo

•  necessidade de manter as visões consistentes com outras atividades

X

avisos sobre nova visão do grupo

novo

processo

(28)

outras arquiteturas

•  menor rigidez nos requisitos de sincronismo

–  gossip (difusão oportunista)

(29)

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

(30)

problema dos generais bizantinos

A

T

B recuar

recuar atacar

atacar

(31)

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

(32)

replicação ativa

FE C

FE

C RM

RM

RM

(33)

replicação passiva

C FE

C FE

RM Primary

Backup

Backup RM

RM

(34)

abordagens híbridas

•  consultas em qualquer cópia

•  atualizações apenas na cópia primária

c1 c3

c2 c4

Backup

s1

s3 s4

s2

(35)

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.

Referências

Documentos relacionados

onde a rede elétrica interna seja de propriedade da Coelba, o ponto de entrega deve situar-se no limite da via interna com a propriedade onde esteja localizada a unidade

8° A pré-seleção das inscrições ocorrerá por meio de processo interno de inscrição e seleção de candidaturas, cuja responsabilidade será de dirigentes de

Nota (1) Oferta permanente da anuidade até 3 cartões por conta para clientes titulares da Conta Business.

Os doentes tratados com qualquer um destes medicamentos e bupropiom poderão necessitar de um aumento da dose de bupropiom, no entanto a dose máxima recomendada de bupropiom

Em cultura de arroz irrigado por inundac;ao permanente, os efeitos de variaveis, por exem- plo, como a altura da lamina da agua, epoca do transplante , distancia entre

Pode-se perceber, portanto, que a indústria de beneficiamento da biomassa possui um grande potencial não só na área de combustíveis, a mais famosa, mas também

Jovens pesquisadores, mestrandos e doutorandos,participaram desse primeiro colóquio realizando apresentações de painéis para divulgação deseus trabalhos.A riqueza

“EVALUATION OF EXTRACELLULAR MATRIX AND STRUCTURE OF Candida albicans BIOFILMS DEVELOPED AT DIFFERENT