consenso o grande mal-entendido tolerância a faltas distribuída madalena miguel março 2003

22
CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

CONSENSO

O grande mal-entendido

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 2: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

O que é o Consenso?

• Acordo em sistemas distribuídos

• Obrigar processos, com valores iniciais diferentes, a escolherem o valor inicial de um deles.

• Conclusão de FLP (Fisher, Lynch e Paterson): o problema é insolúvel em sistemas assíncronos.

• Solúvel em sistemas síncronos, parcialmente síncronos e assíncronos com detector de falhas.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 3: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

6 mal-entendidos

1. É apenas para teóricos

2. Os time-outs são suficientes

3. Não há vida após FLP

4. O modelo do detector de falhas é irrealista

5. Time-free significa ineficiência

6. Algoritmos assíncronos não podem ser usados em aplicações de tempo crítico

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 4: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

1 - É apenas para teóricos

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 5: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

1. É apenas para teóricos

Prós e Contras:

• O consenso não é real.

• A Ordem total é semelhante. A resolução de um pode ser aplicada no outro e vice-versa.

• O consenso pode ser usado para resolver a ordem total, não tem que ser usado.

• Os outros problemas, serão pelo menos igualmente difíceis.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 6: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Conclusão:

Uma aproximação rigorosa da resolução do consenso tem

uma enorme importância para o fabrico de sistemas

distribuídos tolerantes a faltas, já que pode ser usada na

resolução de outros problemas de acordo.

1. É apenas para teóricos

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 7: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

2 - Os time-outs são suficientes

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 8: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Prós e Contras:

• O consenso pode solucionar-se com time-outs, para detectar paragens dos processos.

• O tempo não resolve o consenso já que não permite distinguir processos parados dos lentos.

• Os cenários de FLP nunca ocorreriam num sistema real.

• Relação entre probabilidade de detecção incorrecta de falhas e reacções rápidas a paragens dos processos.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

2 - Os time-outs são suficientes

Page 9: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Conclusão:

Existe uma proximidade notável entre a dificuldade de

resolução do consenso e a dificuldade de conseguir que

um sistema reaja rapidamente a paragens de processos

(reduzindo os períodos de black-out).

2. Os time-outs são suficientes

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 10: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

3 - Não há vida após FLP

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 11: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

3. Não há vida após FLP

Prós e Contras:

• O consenso por vezes é resolúvel e outras vezes não. Aceitem isto.

• Não há algoritmos que resolvam o consenso em todas as corridas, temos que caracterizar as corridas em que os algoritmos o resolvem.

• Modelos de sistemas: parcialmente síncrono, assíncrono temporário, assíncrono com detector de falhas, em que os processo nunca discordam no valor a decidir.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 12: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

3. Não há vida após FLP

Modelos:

• Parcialmente síncrono: existe de um tempo t após o qual não há falhas temporárias.

• Assíncrono temporário: o sistema atravessa períodos estáveis (sem falhas temporárias) e instáveis.

• Assíncrono com detector de falhas: existe um tempo t após o qual um processo correcto não é suspeito por nenhum processo correcto.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 13: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Conclusão:

A conclusão de FLP levou ao aparecimento de vários

modelos menos restritivos que o modelo síncrono, e que

nos permitem caracterizar as corridas em que um dado

algoritmo soluciona o consenso.

3. Não há vida após FLP

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 14: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

4 - O modelo do detector de faltas é irrealista

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 15: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

4. Modelo detector de faltas é irreal

Prós e Contras:

• ΔS é o detector de falhas mais fraco que permite resolver o consenso.

• ΔS não se aplica a sistemas assíncronos. (os períodos estáveis são implementáveis.

• ΔS é uma especificação para a implementação do mecanismo do detector de falhas.

• Controlar time-out/rapidez de resposta.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 16: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

4. Modelo detector de faltas é irreal

Prós e Contras:

• O modelo não prevê a recuperação dos processos.

• Um processo que falha e depois recupera pode ser considerado correcto ? Todos os processos correctos devem decidir.

• A solução do consenso no modelo crash/recover é muito próxima da do modelo crash/no recovery.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 17: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

5 - Time-free significa ineficiência

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 18: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

5. Time-free significa ineficiência

Prós e Contras:

• O modelo assíncrono com detector de falhas é time-free.

• O modelo time-free, é complexo e ineficiente.

• Complexo: tolera um nº ilimitado de suspeitas incorrectas de falhas (pode solucionar numa ronda).

• Complexidade ≠> Ineficiente.

• Medida da eficiência: nº de etapas de comunicação em corridas sem paragens de processos.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 19: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

5. Time-free significa ineficiência

Nº de Etapas:

• 3 etapas: p1 difunde v1; p2 envia ack para p1; quando p1 tem maioria de acks, difunde v1.

• 2 etapas: p1 difunde v1; todos os processos aceitam v1, reenviando esse valor para todos. Um processo decide depois de ter recebido v1 da maioria dos processos.

• 1 etapa: pi recebe v1, espera um tempo Δ, para detectar falhas na rede e se não houver, decide por esse valor.

• O algoritmo em 2 etapas é mais rápido do que este último.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 20: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

6 – Algoritmos assíncronos não servem para aplicações de

tempo crítico

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 21: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

6. Não servem para aplicações críticas

Prós e Contras:

• Não limitam o tempo de envio de mensagens na presença de falhas.

• Os algoritmos que limitam o tempo, não são mais sofisticados, apenas restringem do nº de falhas.

• 2 fases para criar aplicações de tempo crítico:– Desenho: criar algoritmo no modelo time-free e provar que

é correcto;– Implementação: integrar algoritmo num sistema real, onde

a configuração do detector de falhas depende da rede.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003

Page 22: CONSENSO O grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

CONCLUSÃO

• Os problemas do acordo são solucionados no modelo

mais generalista – assíncrono com detector de falhas.

• Esta aproximação deve ser adequada a aplicações de

tempo crítico, já que não causa perdas de eficiência.

• É mais importante a actualidade dos dados do que a

rapidez da resposta.

Tolerância a Faltas Distribuída Madalena Miguel Março 2003