Resumen

Assignment: Instrument a Distributed System Using RTT 🌐#

(Observing Coherence Without Coordination)

Objetivo#

En esta tarea, usted instrumentará un sistema distribuido para observar coherencia a lo largo del tiempo utilizando ideas inspiradas en RTT.

Usted no:

  • hará cumplir la consistencia
  • arreglará fallos
  • agregará protocolos de coordinación
  • optimizará el rendimiento

Su objetivo es hacer visibles las suposiciones a través de los nodos.


Antecedentes (Por qué RTT se adapta a los sistemas distribuidos)#

Los sistemas distribuidos fallan no porque falten reglas, sino porque:

  • el tiempo es inconsistente
  • las suposiciones divergen entre nodos
  • los límites se cruzan silenciosamente

RTT trata estos como problemas de coherencia, no problemas de control.


Configuración#

Utiliza cualquiera de los siguientes:

  • un almacén de clave-valor (de juguete o real)
  • un sistema de paso de mensajes
  • un servicio replicado
  • un simulador de consenso
  • un marco de laboratorio distribuido proporcionado por tu instructor

Puedes simular nodos en una sola máquina.


Descripción de la Tarea#

Usted hará:

  1. Declarar una asunción distribuida
  2. Definir un corredor de coherencia
  3. Observar eventos de frontera
  4. Emitir insignias cuando las asunciones se desvíen
  5. No hacer nada más

Paso 1: Declara una Suposición Distribuida 🧠#

Elige una suposición que tu sistema hace implícitamente.

Ejemplos:

  • “Todas las réplicas eventualmente ven el mismo valor.”
  • “Los mensajes se entregan dentro de un tiempo limitado.”
  • “Los líderes son únicos en cualquier momento.”
  • “Los relojes están lo suficientemente cerca como para comparar marcas de tiempo.”
  • “Las solicitudes se procesan en orden causal.”

Escribe esta suposición en una oración.


Paso 2: Definir un Corredor de Coherencia 🛤️#

Describe cómo se ve el comportamiento normal a lo largo del tiempo y a través de nodos.

Ejemplos:

  • Retraso máximo aceptable en el mensaje
  • Ventana de divergencia permitida entre réplicas
  • Intervalo de latido esperado
  • Desviación de reloj aceptable

Este corredor define coherencia esperada, no corrección.


Paso 3: Observar un Límite 🔄#

Identificar dónde podría desviarse la suposición.

Ejemplos:

  • mensaje enviar / recibir
  • actualización de réplica
  • elección de líder
  • expiración de tiempo de espera
  • sincronización de estado

Agregar instrumentación solo en este límite.


Paso 4: Emitir una Insignia 🏷️#

Cuando el comportamiento sale del corredor, emite una insignia.

Una insignia debe incluir:

  • lo que sucedió
  • qué nodo lo observó
  • cuándo fue observado (la hora local está bien)
  • contexto relevante (IDs, versiones, retrasos)

Ejemplo (conceptual):

[BADGE]
type: COHERENCE_DRIFT
module: replication
node: replica_3
context: version_lag_exceeded
timestamp: 48291

Las insignias pueden ser registradas localmente o recopiladas centralmente.


Paso 5: No Coordinar 🚫#

Esto es crítico.

Su sistema debe:

  • no reintentar
  • no reelegir
  • no resincronizar
  • no bloquear el progreso

Observación solamente.


Entregables 📦#

Enviar:

  1. Su suposición declarada y corredor
  2. Código de instrumentación
  3. Salida de insignia de muestra de múltiples nodos
  4. Una breve reflexión (5–7 oraciones):
    • ¿Ocurrió deriva?
    • ¿Fue simétrica entre nodos?
    • ¿Importó más el tiempo que el estado?

Criterios de Calificación#

Se te califica en:

  • claridad de la suposición
  • correctitud de la observación
  • utilidad del contexto de la insignia
  • moderación (sin lógica de control)

No se te califica en:

  • garantías de consistencia
  • tolerancia a fallos
  • rendimiento

Why This Matters#

Most distributed failures are not bugs — they are unobserved divergence.

RTT trains you to:

  • see drift before coordination
  • separate observation from agreement
  • reason about time explicitly

These skills apply to:

  • databases
  • consensus systems
  • microservices
  • distributed AI systems

Extensión Opcional 🌱#

Introducir:

  • retraso de red
  • pérdida de mensajes
  • desviación de reloj

Observe cómo cambian los patrones de insignias.

No “arregle” nada.


Instructor Note#

This assignment pairs well with lectures on:

  • eventual consistency
  • CAP tradeoffs
  • failure detectors
  • logical vs physical time

Students often discover that time, not logic, is the hardest part.

Updated