Saltar a contenido

Swim Paper Das Gupta Motivala 2002

Paper canónico que define SWIM. Ingesta motivada por citation chasing de ../concepts/swim-membership-protocol — valida los defaults de Camunda contra los parámetros y garantías formales del paper original. Aporta foundation theory (Chandra-Toueg, FLP) que el protocolo asume.

Resumen

Das, Gupta y Motivala (Cornell, 2002) presentaron SWIM como respuesta a la unscalability del all-to-all heartbeating: la decisión clave es separar failure detection de membership dissemination. El paper documenta:

  1. El failure detector básico: ping random + indirect ping a k peers vía ping-req. Da Strong Completeness con detection time e/(e-1) · T' en expectation, independiente del tamaño del grupo.
  2. Infection-style dissemination: en vez de multicast, piggyback updates en los pings/acks. Coverage N - N^(-(2λ-2)) después de λ · log(N) rounds (Bailey 1975 epidemic model).
  3. Suspicion mechanism: Suspect → Alive → Confirm con incarnation numbers (idénticos en idea a las destination sequence numbers de AODV). Reduce false positives de 4 a 12 miembros estables bajo 10% packet loss.
  4. Round-robin probe target selection: garantiza Time Bounded Completeness con worst case 2N · T'. Sin esto, el detection time worst-case es ilimitado (random selection puede saltarse un nodo failed indefinidamente).

Páginas wiki derivadas

Plus update a la página existente ../concepts/swim-membership-protocol para enlazar las nuevas.

Gaps abiertos por este source

  • ¿Camunda usa round-robin probe target selection o random? La config no lo expone; requiere inspección del source de scalecube-cluster o atomix/cluster. Ver ../analysis/swim-paper-vs-camunda-defaults (sección "Gaps").
  • ¿Qué buffer size usa Camunda para piggyback (paper sugiere λ · log(N) con λ constante pequeño)? No expuesto en config defaults.
  • ¿Cómo se implementa el "rejuvenation" después de Suspect→Alive? Camunda lo soporta vía notifySuspect flag, pero el flujo exacto no está documentado en los sources actuales.

Limitaciones del paper

  • Experimentos sobre 100 Mbps Ethernet single-cluster — no valida el comportamiento WAN que SWIM prometería extender.
  • Tamaño máximo testeado: 55 nodos. Comportamiento a escalas de Cassandra/Consul (1000+) viene de papers/práctica posterior, no de este.
  • No discute geo-replication, particiones físicas, o BFT.