24
Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado por Lívia Sampaio [email protected]

Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

Embed Size (px)

Citation preview

Page 1: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

Unreliable Failure Detectors for Reliable Distributed

SystemsT. D. Chandra and S. Toueg

Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267

Apresentado por Lívia Sampaio

[email protected]

Page 2: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 2

Motivação

Necessidade de construir aplicações tolerante a falhas (TF)

Page 3: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 3

Motivação

Mecanismos de TF precisam de um serviço de detecção de falhas Exemplo do serviço WEB replicado

REQUISIÇÃO

RESPOSTA

Servidores web

Cliente

Internet

Internet

bc...

RESPOSTA

REQUISIÇÃOREQUISIÇÃO

?

Page 4: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 4

Motivação

Como resolver o problema da detecção de falhas? ambientes síncronos – trivial ambientes assíncronos – complicado!

FACILIDADES - ASSÍNCRONO- semântica simples- aplicações portáveis- facilidade de programação

DIFICULDADES ASSÍNCRONO- impossível decidir se um processo falhou ou está lento- FLP85

Page 5: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 5

Motivação

Modelo assíncrono com detectores de falhas não confiáveis (DFNC) Alternativa para “amenizar” FLP85 Introdução de detectores de falhas que podem cometer

erros

Page 6: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 6

Conteúdo

Modelo assíncrono Definição de DFNC Projeto de DFNC Especificação Implementação Aplicação

Page 7: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 7

Modelo assíncrono

N processos Comunicação por troca de mensagens através de uma

rede confiável Processos falham por parada Incertezas nos atrasos para comunicação e

processamento Processos têm acesso a um relógio local Introdução de detectores de falhas não confiáveis

Page 8: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 8

Entendendo DFNC

Definição DFNC são oráculos que respondem sobre a situação de

falhas do sistema; podem cometer erros.

rede

rede

q

p

DFp

q

r

Lista de suspeitosq rq

Page 9: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 9

Entendendo DFNC

Projeto Serviço distribuído “caixa-preta” que encapsula requisitos de sincronismo do

sistema ; interface bem definida Modularização Separação de conceitos

Page 10: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 10

Entendendo DFNC

Especificação de DFNC Em termos de 2 propriedades:

Abrangência – quantidade de falhas detectadas Exatidão – quantidade de falsas suspeições cometidas

Aplicações são definidas em função da especificação dos DFNC e não de uma implementação em particular

Detectores de falhas perfeitos (semântica mais forte) Abrangência forte – em algum momento, todo processo falho será considerado suspeito, permanentemente, por qualquer processo correto;

Exatidão forte – nenhum processo correto será suspeitado por outro processo correto.

Propriedades muito restritivas!!!

Page 11: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 11

Entendendo DFNC

Enfraquecendo a semântica de DFNC

EM TERMOS DE ABRANGÊNCIA:

Abrangência fraca – em algum momento, todo processo falho será considerado suspeito, permanentemente, por algum processo correto;

EM TERMOS DE EXATIDÃO:

Exatidão fraca – algum processo

correto nunca é suspeitado;

Exatidão forte eventual – em algum momento, o detector garante a exatidão forte;

Exatidão fraca eventual – em algum momento, o detector garante a exatidão fraca.

Page 12: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 12

Entendendo DFNC

Classificação Em termos de semântica: forte -> fraca São oito classes (= 2 abrangência * 4 exatidão)

Comparando as classes de DFNCExatidão “em atraso”

Enfraquecendo a abrangência

Enfraquecendo a exatidão

Page 13: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 13

Entendendo DFNC Equivalência de Classes

Considere a seguinte relação entre duas classes D e D’:D D’ D D’

Conceito de redutibilidade Um algoritmo de redução é aquele capaz de transformar um

detector de falhas D em outro D’, tal que D D’

Page 14: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 14

Entendendo DFNC

Equivalência de classes Aplicando o conceito de redutibilidade às classes de DFNC

A relação inversa também é verdadePQ, S W, P Q, S W

P

P

S

S

Q

Q

W

W

Redução acontece sobre a propriedade de abrangência, Redução acontece sobre a propriedade de abrangência, então: 8 classes podem ser reduzidas a quatroentão: 8 classes podem ser reduzidas a quatro

Page 15: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 15

Implementação de DFNC

Independência de implementação Implementações normalmente são baseadas em

timeouts Modelo push

Esse exemplo não implementa S ! Timeouts mal configurados podem violar exatidão É preciso usar timeouts dinâmicos

Lista de suspeitos

p

DFp

rede

rede

q

r

q

“Q está vivo”“Q está vivo”“Q está vivo”?

Page 16: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 16

Aplicação para DFNC

O problema do consenso N processos, dentre os quais no máximo f<N podem falhar

por parada, propõem um valor e tentam decidir sobre um dos valores propostos.

Formalmente: Validade Acordo Terminação

O consenso deve garantir segurança e exatidão!

Page 17: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 17

Aplicação para DFNC

O protocolo de consenso CT96 Paradigma do coordenador rotativo Utiliza ◊S (N 2F+1) Rodadas assíncronas Cada rodada tem um coordenador conhecido a priori O consenso termina quando existir um coordenador que

não seja suspeitado por um número suficiente de participantes

Page 18: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 18

Rodada de CT96 sem falhas

estimativas proposta ack ou nack decisãodifusão confiável

p3

p2

p1

Fase 1 Fase 2 Fase 3 Fase 4

Page 19: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 19

Rodada de CT96 com falhas

estimativas proposta ack ou nack

p3

p2

p1

Fase 1 Fase 2 Fase 3 Fase 4

Page 20: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 20

Difusão atômica

O problema da difusão atômica Dado um conjunto de N processos, estes irão entregar as

mesmas mensagens e na mesma ordem.

Formalmente Validade Acordo Ordenação total

Page 21: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 21

Consenso e Difusão atômica

Aplica-se o conceito de redutibilidade Problemas são equivalentes

Consenso com difusão atômica Difusão atômica com consenso

Page 22: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 22

Referências sobre detectores de falhas

[SBO03] Detectores de falhas em sistemas assíncronos (tutorial)

[OBB03] Projeto e Implementação de um Serviço de Detecção de Falhas com Semântica Perfeita.

[COB05] Engineering a Failure Detection Service for Widely Distributed Systems

[DUHK05] Definition and Specification of Accrual Failure Detectors

[LFA00] Optimal Implementation of the Weakest Failure Detector for Solving Consensus

Page 23: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 23

Referências sobre detectores de falhas

[NJ-P04] QoS of Timeout-based Self-Tuned Failure Detectors: the Effects of the Communication Delay Predictor and the Safety Margin.

[CHT96] The Weakest Failure Detector for Solving Consensus

[CTA00] On the Quality of Service of Failure Detectors

[SB05] Adaptive Indulgent Consensus

Page 24: Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of the ACM, vol 43, no 2, March 1996, pp. 225-267 Apresentado

LSD/UFCG 24/03/2006 24

Obrigada!!!

Mais questionamentos????