Reloj lógico

El reloj lógico  es un mecanismo para determinar la relación cronológica y causal de eventos en sistemas distribuidos que no tienen un solo reloj físico. Los algoritmos de reloj lógico le permiten obtener una ordenación parcial de eventos en el tiempo y detectar violaciones de las relaciones de causa y efecto. El estado del reloj lógico se puede incluir en mensajes internos enviados entre los nodos del sistema. Propuesto e implementado por primera vez por Lamport en 1978, su trabajo fue galardonado con el Premio Turing 2013 .

El conocimiento de la secuencia cronológica de eventos es útil para analizar cálculos, crear algoritmos distribuidos, rastrear eventos individuales o el progreso de los cálculos [1] .

Al implementar algoritmos de reloj lógico, cada proceso de un sistema distribuido tiene sus propias estructuras de datos para representar el tiempo lógico y utiliza un protocolo especial cuando las actualiza. Por lo general, almacenan una hora local lógica para obtener marcas de tiempo para eventos locales y una hora global lógica correspondiente a la representación de la hora global del proceso. El protocolo especifica las reglas para actualizar la hora lógica local cuando se ejecutan los eventos y las reglas para actualizar la hora global lógica para seguir el progreso en todo el sistema distribuido [1] .

Ejemplos notables de relojes lógicos son:

Notas

  1. 1 2 Capítulo 3: Tiempo lógico Archivado el 23 de septiembre de 2015 en Wayback Machine // Ajay Kshemkalyani y Mukesh Singhal, Computación distribuida: principios, algoritmos y sistemas, Cambridge University Press, 2008

Enlaces