240 likes | 339 Views
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 livia@dsc.ufcg.edu.br. Motivação. Necessidade de construir aplicações tolerante a falhas (TF). Servidores web.
E N D
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 livia@dsc.ufcg.edu.br
Motivação • Necessidade de construir aplicações tolerante a falhas (TF) LSD/UFCG 24/03/2006
Servidores web Cliente Internet ... bc Motivação • Mecanismos de TF precisam de um serviço de detecção de falhas • Exemplo do serviço WEB replicado REQUISIÇÃO REQUISIÇÃO REQUISIÇÃO ? RESPOSTA RESPOSTA LSD/UFCG 24/03/2006
Motivação • Como resolver o problema da detecção de falhas? • ambientes síncronos – trivial • ambientes assíncronos – complicado! • DIFICULDADES ASSÍNCRONO • impossível decidir se um processo falhou ou está lento • FLP85 • FACILIDADES - ASSÍNCRONO • semântica simples • aplicações portáveis • facilidade de programação LSD/UFCG 24/03/2006
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
Conteúdo • Modelo assíncrono • Definição de DFNC • Projeto de DFNC • Especificação • Implementação • Aplicação LSD/UFCG 24/03/2006
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
p DFp rede Lista de suspeitos q r Entendendo DFNC • Definição • DFNC são oráculos que respondem sobre a situação de falhas do sistema; podem cometer erros. q q r q LSD/UFCG 24/03/2006
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
Propriedades muito restritivas!!! 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. LSD/UFCG 24/03/2006
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
Exatidão “em atraso” Enfraquecendo a abrangência Enfraquecendo a exatidão 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 DFNC LSD/UFCG 24/03/2006
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
P P S S Q Q W W Redução acontece sobre a propriedade de abrangência, então: 8 classes podem ser reduzidas a quatro Entendendo DFNC • Equivalência de classes • Aplicando o conceito de redutibilidade às classes de DFNC • A relação inversa também é verdade PQ, S W, P Q, S W LSD/UFCG 24/03/2006
p DFp rede q “Q está vivo” r “Q está vivo” Lista de suspeitos “Q está vivo” 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 ? q LSD/UFCG 24/03/2006
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
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
Fase 2 Fase 3 Fase 4 Fase 1 p1 proposta ack ou nack decisão p2 p3 estimativas difusão confiável Rodada de CT96 sem falhas LSD/UFCG 24/03/2006
Fase 2 Fase 3 Fase 4 Fase 1 p1 proposta ack ou nack p2 p3 estimativas Rodada de CT96 com falhas LSD/UFCG 24/03/2006
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
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
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
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
Obrigada!!! Mais questionamentos???? LSD/UFCG 24/03/2006