¿Cuál es la ventaja de diseñar algoritmos deterministas distribuidos?


10

Los algoritmos distribuidos que son resistentes a las fallas pueden ser deterministas o probabilísticos. Tomemos, por ejemplo, el problema del consenso.

  • Paxos es determinista en el sentido de que, dada la suposición que hace, siempre funciona.

  • En contraste, el consenso aleatorio funciona con una probabilidad dada.

¿Cuál es la ventaja de diseñar y usar un algoritmo determinista?

Los supuestos en los que se basan los algoritmos deterministas también tienen una probabilidad de mantenerse en la realidad (lo que se denomina cobertura de supuestos ). Por lo tanto, siempre existe la probabilidad de que un algoritmo determinista no funcione en la realidad.


Paxos / wikipedia, familia de protocolos
vzn

1
¿Puedes ser un poco más específico con tu comentario?
danyhow

1
Es bueno notar que la aleatorización se usa típicamente para propiedades de vida, no propiedades de seguridad. Las propiedades de seguridad siempre se mantienen, sin embargo, existe la posibilidad de que el algoritmo no termine (lo que generalmente disminuye a medida que pasa el tiempo).
Kaveh

Respuestas:


10

Contestaré esto desde la perspectiva de los algoritmos de gráficos distribuidos ( algoritmos distribuidos que resuelven un problema de gráficos relacionado con la estructura de la red de comunicación).

Aquí hay algunas razones no obvias para diseñar algoritmos distribuidos deterministas en esta configuración:

  • Subrutinas en algoritmos aleatorios . En P. 12 a 13 de estas diapositivas , Elkin describe una técnica de diseño de algoritmos en la que puede utilizar algoritmos distribuidos deterministas rápidos como subrutina para construir un algoritmo distribuido aleatorio rápido . Curiosamente, es no posible utilizar un algoritmo típico aleatorio como una subrutina en el mismo contexto (la probabilidad de error sería demasiado alto).

  • Tolerancia a fallas . Existe una traducción mecánica que le permite convertir un algoritmo distribuido determinista rápido en un algoritmo distribuido autoestabilizador rápido (consulte, por ejemplo, la Sección 2.4 de esta encuesta ). No se conoce una conversión similar para los algoritmos aleatorios (y creo que es poco probable que exista en el caso general).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.