reloj lógico


Un reloj lógico es un mecanismo para capturar relaciones cronológicas y causales en un sistema distribuido . A menudo, los sistemas distribuidos pueden no tener un reloj global físicamente síncrono. Afortunadamente, en muchas aplicaciones (como GNU make distribuido ), si dos procesos nunca interactúan, la falta de sincronización es imperceptible. Además, en estas aplicaciones, es suficiente que los procesos acuerden el orden de los eventos (es decir, el reloj lógico) en lugar del tiempo del reloj de pared. [1] La primera implementación del reloj lógico, las marcas de tiempo de Lamport , fue propuesta por Leslie Lamport en 1978 ( Premio Turing en 2013).

En los sistemas de reloj lógico, cada proceso tiene dos estructuras de datos: tiempo local lógico y tiempo global lógico . El proceso utiliza la hora local lógica para marcar sus propios eventos, y la hora global lógica es la información local sobre la hora global. Se utiliza un protocolo especial para actualizar la hora local lógica después de cada evento local y la hora global lógica cuando los procesos intercambian datos. [2]

Los relojes lógicos son útiles en el análisis de computación, el diseño de algoritmos distribuidos, el seguimiento de eventos individuales y la exploración del progreso computacional.