consenso o grande mal-entendido tolerância a faltas distribuída madalena miguel março 2003
Post on 17-Apr-2015
105 Views
Preview:
TRANSCRIPT
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
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
1 - É apenas para teóricos
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
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
2 - Os time-outs são suficientes
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
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
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
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
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
top related