Qual é a vantagem de projetar algoritmos distribuídos determinísticos?

10

Os algoritmos distribuídos que são resistentes a falhas podem ser determinísticos ou probabilísticos. Tomemos, por exemplo, o problema de consenso.

  • Paxos é determinístico no sentido de que, dada a suposição que faz, sempre funciona.

  • Em contraste, o consenso randomizado trabalha com uma dada probabilidade.

Qual é a vantagem de projetar e usar um algoritmo determinístico?

As suposições nas quais os algoritmos determinísticos se baseiam também têm uma probabilidade de se manter na realidade (o que é chamado de cobertura de suposições ). Portanto, sempre há uma probabilidade de que um algoritmo determinístico não funcione na realidade.

danyhow
fonte
Paxos / wikipedia, família de protocolos
vzn
11
Você pode ser um pouco mais específico com seu comentário?
Danyhow
11
É bom notar que a randomização é usada normalmente para propriedades de vivacidade e não de segurança. As propriedades de segurança sempre são válidas, no entanto, há uma chance de o algoritmo não terminar (o que geralmente diminui com o passar do tempo).
21416 Kaveh

Respostas:

10

Eu responderei isso da perspectiva dos algoritmos de gráfico distribuído ( algoritmos distribuídos que resolvem um problema gráfico relacionado à estrutura da rede de comunicação).

Aqui estão algumas razões não óbvias para o design de algoritmos distribuídos determinísticos nesta configuração:

  • Sub-rotinas em algoritmos aleatórios . Na p. 12–13 desses slides , Elkin descreve uma técnica de design de algoritmo na qual você pode usar algoritmos distribuídos determinísticos rápidos como uma sub-rotina para construir um algoritmo distribuído aleatório rápido . Curiosamente, é não possível utilizar um algoritmo típico randomizado como uma sub-rotina no mesmo contexto (a probabilidade de erro seria muito alto).

  • Tolerância a falhas . Existe uma tradução mecânica que permite converter um algoritmo distribuído determinístico rápido em um algoritmo distribuído auto-estabilizador rápido (consulte, por exemplo, a Seção 2.4 desta pesquisa ). Uma conversão semelhante não é conhecida para algoritmos aleatórios (e acho que é improvável que exista no caso geral).

Jukka Suomela
fonte