Unreliable Failure Detectors for Reliable Distributed Systems
description
Transcript of Unreliable Failure Detectors for Reliable Distributed Systems
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
LSD/UFCG 24/03/2006 2
Motivação
Necessidade de construir aplicações tolerante a falhas (TF)
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
?
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
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
LSD/UFCG 24/03/2006 6
Conteúdo
Modelo assíncrono Definição de DFNC Projeto de DFNC Especificação Implementação Aplicação
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
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
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
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!!!
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.
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
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’
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
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”?
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!
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
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
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
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
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
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
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
LSD/UFCG 24/03/2006 24
Obrigada!!!
Mais questionamentos????