Upload
internet
View
105
Download
0
Embed Size (px)
Citation preview
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????