220 likes | 319 Views
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.
E N D
CONSENSOO 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
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
1 - É apenas para teóricos Tolerância a Faltas Distribuída Madalena Miguel Março 2003
É 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
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
2 - Os time-outs são suficientes Tolerância a Faltas Distribuída Madalena Miguel Março 2003
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
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
3 - Não há vida após FLP 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
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
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
4 - O modelo do detector de faltas é irrealista 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
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
5 - Time-free significa ineficiência 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
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
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
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
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