Relojes lógicos híbridos: conciliando causalidad y tiempo físico en bases de datos distribuidas

Fuentes: Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases

El artículo "Logical Physical Clocks and Consistent Snapshots in Globally Distributed Databases", de Sandeep Kulkarni, Murat Demirbas, Deepak Madeppa, Bharadwaj Avva y Marcelo Leone (Michigan State University y University at Buffalo, SUNY), propone los Hybrid Logical Clocks (HLC) para cerrar la brecha entre la teoría y la práctica del tratamiento del tiempo en sistemas distribuidos.

El texto repasa la evolución histórica de los mecanismos de ordenación de eventos. Parte de los relojes lógicos de Lamport (1978), que abstraen la causalidad mediante la relación happened-before sin depender del tiempo físico. Describe los relojes vectoriales (1988), más precisos pero costosos en memoria. Explica el tiempo físico con NTP, limitado por incertidumbres de decenas de milisegundos y problemas como segundos intercalados o retrocesos POSIX. Analiza TrueTime de Google, que requiere hardware especializado (GPS y relojes atómicos) para Spanner, y HybridTime, que combina relojes vectoriales con tiempo físico para podar entradas.

Los autores presentan HLC como un reloj lógico cuya marca se mantiene próxima al reloj NTP, de modo que puede sustituirlo en aplicaciones prácticas. HLC cabe en el formato de 64 bits de NTP, se superpone al protocolo sin modificar los relojes físicos, y funciona en arquitecturas peer-to-peer donde cada nodo puede usar un servidor NTP distinto. Conserva la propiedad de causalidad de los relojes lógicos (si e hb f, entonces hlc.e < hlc.f), lo que permite identificar instantáneas consistentes globales sin esperas por incertidumbre ni coordinación previa.

El sistema ofrece tolerancia de enmascaramiento frente a kinks de NTP (actualizaciones no monótonas, saltos) y degrada con elegancia ante pérdida de sincronización; es además autoestabilizante y resiliente a corrupciones de las variables de reloj. Los autores implementan HLC y muestran, mediante experimentos de estrés, que las marcas se mantienen acotadas y de tamaño reducido en distintos escenarios de despliegue, lo que habilita ordenación de transacciones wait-free y lecturas de instantánea eficientes en bases de datos multiversión distribuidas globalmente.