1 / 22

CONSENSO O grande mal-entendido

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.

marty
Download Presentation

CONSENSO O grande mal-entendido

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CONSENSOO grande mal-entendido Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  2. 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

  3. 6 mal-entendidos • É apenas para teóricos • Os time-outs são suficientes • Não há vida após FLP • O modelo do detector de falhas é irrealista • Time-free significa ineficiência • 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

  4. 1 - É apenas para teóricos Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  5. É 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

  6. 1. É apenas para teóricos 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. Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  7. 2 - Os time-outs são suficientes Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  8. 2 - Os time-outs são suficientes 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

  9. 2. Os time-outs são suficientes 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). Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  10. 3 - Não há vida após FLP Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  11. 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

  12. 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

  13. 3. Não há vida após FLP 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. Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  14. 4 - O modelo do detector de faltas é irrealista Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  15. 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

  16. 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

  17. 5 - Time-free significa ineficiência Tolerância a Faltas Distribuída Madalena Miguel Março 2003

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

More Related