Mientras se detectan fallas en los sistemas distribuidos, ¿cuándo es una solución mejor que las encuestas?

En cierto sentido son equivalentes. Lo que cambia es donde se realiza el trabajo. Si hay una topología de estrella o chisme, los latidos toman menos CPU en el nodo de consolidación; el sondeo puede tomar más.

En una topología N ^ 2, pueden considerarse exactamente equivalentes, ya que una sonda de sondeo de una cosa es un latido para el receptor.

Donde hay una diferencia significativa es si el latido está usando RDMA, donde podría escribir felizmente en la memoria que no se está leyendo, porque un proceso está bloqueado. Un mecanismo de sondeo generalmente necesita la participación activa de algo que se ejecuta en el otro lado, y la verificación de estado revela un estado de nivel superior al éxito de un mecanismo de mensajería de nivel inferior.

En pocas palabras, no creo que importe mucho qué entidad envía el primer mensaje y cuál envía el segundo.

Seguí pensando en esta pregunta y encontré lo siguiente en “Algoritmos de detección de fallas en redes superpuestas” por Zhuang et al. [2005]

“Chismes versus sondeo Hay dos enfoques diferentes para los mensajes de keepalive. En el enfoque de chismes [17], [22], un nodo envía periódicamente mensajes de “Estoy vivo” a sus vecinos. En el enfoque de la sonda [1], [8], [9], [14], [17], [19], un nodo sondea a un vecino con un mensaje de “¿estás vivo?”, Y el vecino responde con un ” sí estoy vivo “mensaje. Cuando la tabla de enrutamiento es simétrica, un mensaje “Estoy vivo” de un nodo a su vecino le permite al vecino saber que el nodo todavía está vivo. Sin embargo, cuando la tabla de enrutamiento no es simétrica, se necesita un reconocimiento explícito del vecino. Por lo tanto, el enfoque de la sonda 4 es más general que el de chismes, ya que la tabla de enrutamiento no necesita ser simétrica. Además, el enfoque de chismes no detecta asimetrías en la conectividad de red. En particular, si el nodo A puede hablar con el nodo B mientras que B no puede hablar con A, entonces B no detectará tales patologías de los mensajes “Estoy vivo” y continuará enviando paquetes a A. ”

El documento trata sobre redes superpuestas. Por lo tanto, las tablas de enrutamiento simétrico / asimétrico son importantes. Pero, ese argumento no se aplica a sistemas distribuidos más genéricos. Sin embargo, el segundo argumento definitivamente se aplica a los sistemas genéricos distribuidos, es decir, el sondeo explora las rutas hacia adelante y hacia atrás, mientras que los latidos del corazón solo exploran 1 dirección.