Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of...

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]

Transcript of Unreliable Failure Detectors for Reliable Distributed Systems T. D. Chandra and S. Toueg Journal of...

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????