Articulo de referencia

El algoritmo de Cristian

El algoritmo de Cristian (introducido por Flaviu Cristian en 1989) [ 1 ] es un método de sincronización de relojes que puede utilizarse en diversos campos de la informática dist...

El algoritmo de Cristian (introducido por Flaviu Cristian en 1989) [ 1 ] es un método de sincronización de relojes que puede utilizarse en diversos campos de la informática distribuida, pero se emplea principalmente en intranets de baja latencia . Cristian observó que este sencillo algoritmo es probabilístico, ya que solo logra la sincronización si el tiempo de ida y vuelta (RTT) de la solicitud es corto en comparación con la precisión requerida. Además, presenta limitaciones en implementaciones con un único servidor, lo que lo hace inadecuado para muchas aplicaciones distribuidas donde la redundancia puede ser crucial.

Descripción

El algoritmo de Cristian funciona entre un proceso P y un servidor de tiempo S conectado a una fuente de referencia de tiempo. En pocas palabras:

  1. P solicita la hora a S en el instante t 0 .
  2. Tras recibir la solicitud de P , S prepara una respuesta y le añade la hora T de su propio reloj.
  3. P recibe la respuesta en el tiempo t 1 y luego establece su tiempo en T + RTT/2 , donde RTT=t 1 -t 0 .

Si el RTT se divide equitativamente entre la solicitud y la respuesta, la sincronización es perfecta. Sin embargo, debido a factores impredecibles, esta suposición no siempre se cumple. Un RTT más largo indica una interferencia generalmente asimétrica. Por lo tanto, el desfase y la fluctuación de la sincronización se minimizan seleccionando un RTT adecuado de entre un conjunto de múltiples pares solicitud/respuesta. La aceptación de un RTT en un momento dado depende de la deriva del reloj y de las estadísticas del RTT. Estas magnitudes se pueden medir durante la sincronización, lo que optimiza el método automáticamente.

Véase también

Referencias

  1. Cristian, Flaviu (1989), "Sincronización probabilística de relojes" (PDF) , Computación distribuida , 3 (3), Springer : 146–158 , doi : 10.1007/BF01784024 , S2CID 3170166 
Obtenido de " https://en.wikipedia.org/w/index.php?title=Cristian%27s_algorithm&oldid=1270331878 "