fbpx
Wikipedia

Algoritmo de Cristian

El algoritmo de Cristian (1989) es un método, dentro de la computación distribuida, para la sincronización de relojes. Cristian describe el método como probabilístico debido a que se consigue sincronización solo si el tiempo de respuesta es suficientemente corto comparado con la precisión requerida.[1]​ Consiste en un servidor conectado a una fuente de UTC y unos clientes que se sincronizan con dicho servidor.

Introducción

La sincronización de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten de forma cronológica y a la misma vez respetar el orden de los eventos dentro del sistema. Existen dos tipos de sincronización de relojes físicos:

  • Sincronización externa: consiste en sincronizar los relojes de los procesos Ci con una fuente de tiempo externa fiable.
|S(t) – Ci(t)| < D ; siendo D un límite mayor que cero y S una fuente de tiempo UTC.
  • Sincronización interna: si los relojes Ci están sincronizados entre ellos con un conocido grado de precisión y no necesariamente sincronizados con una fuente externa de tiempo.
|Ci(t) - Cj(t) | < D ; siendo D un límite mayor que cero.

Sincronización interna en un sistema síncrono

En un sistema síncrono son conocidos:

  • Los límites de deriva de los relojes.
  • El máximo retardo de transmisión de mensajes.
  • Tiempo para ejecutar cada paso de un proceso.

El proceso seguido para la sincronización entre dos procesos es el siguiente:

  1. Un proceso envía el tiempo t de su reloj local a otro proceso en un mensaje m.
  2. El proceso receptor puede actualizar su reloj con el tiempo t + TTRANS al recibir el mensaje, donde TTRANS es el tiempo empleado en transmitir el mensaje m entre ellos.

TTRANS es desconocido y no se puede determinar pues depende del tráfico de red .Pese a ello se puede establecer un mínimo tiempo de transmisión, que se obtiene cuando no hay tráfico en la red ni otros procesos, y un máximo estimado.

La incertidumbre en el tiempo de transmisión del mensaje se define como u =(max – min).

  • Si el receptor coloca su reloj a t + min el sesgo del reloj puede ser como mucho u.
  • Si el receptor coloca su reloj a t + max el sesgo del reloj puede ser como mucho u.
  • Si el receptor coloca su reloj a t + (max + min)/2 el sesgo es como mucho u/2.

En general, para un sistema síncrono el error óptimo cuando se sincronizan N relojes es u( 1-1/N). La mayoría de los sistemas distribuidos son asíncronos y no tienen definido un límite máximo para la transmisión de mensajes por lo tanto:

TTRANS = min + x ; el valor de x es mayor o igual que cero y depende de cada caso en particular.

Funcionamiento del algoritmo

  1. Un proceso p hace una petición de tiempo al servidor en un mensaje mr.
  2. El servidor responde con un mensaje mt en el que incluye su tiempo TUTC.
  3. El proceso que recibe el mensaje mt actualiza su reloj con el tiempo TUTC, pero hay que considerar el error cometido pues se ha requerido un tiempo para la transmisión del mensaje desde el servidor.

Se mide el tiempo que se tarda en recibir la respuesta desde que de envía el mensaje de petición, TVIAJE. El tiempo estimado de propagación, en ausencia de otra información, será TVIAJE /2 por lo que el cliente sincroniza su reloj a TUTC + TVIAJE/2. Esta estimación puede mejorarse si se conoce el tiempo mínimo de propagación del mensaje:

  • El tiempo mínimo en el que el servidor escribió el mensaje es min.
  • El tiempo máximo en el que el servidor escribió el mensaje es TVIAJE – min.

Por lo tanto el tiempo en el que el mensaje del servidor es recibido se sitúa en el rango [CUTC + min, CUTC+ TVIAJE –min ] cuya anchura es TVIAJE – 2min así que la precisión es ± TVIAJE/2 – min.


 

Inconvenientes

  1. El problema que se presenta es la posibilidad de fallo debido a la existencia de un único servidor. Cristian sugiere múltiples servidores de tiempo sincronizados que suministren el tiempo. El cliente envía un mensaje de petición a todos los servidores y toma la primera respuesta recibida.
  2. El algoritmo no contempla problemas de malfuncionamiento o fraude por parte del servidor.

Referencias

  1. G. Colouris, J. Dollimore, T. Kindberg and G. Blair. Distributed Systems: Concepts and Design (5th Ed). Addison-Wesley, 2011.

Bibliografía

  • G. Colouris, J. Dollimore, T. Kindberg and G. Blair. Distributed Systems: Concepts and Design (5th Ed). Addison-Wesley, 2011
  • Cristian, F. (1989), «Probabilistic clock synchronization», Distributed Computing (Springer) 3 (3): 146--158
  •   Datos: Q798919

algoritmo, cristian, algoritmo, cristian, 1989, método, dentro, computación, distribuida, para, sincronización, relojes, cristian, describe, método, como, probabilístico, debido, consigue, sincronización, solo, tiempo, respuesta, suficientemente, corto, compar. El algoritmo de Cristian 1989 es un metodo dentro de la computacion distribuida para la sincronizacion de relojes Cristian describe el metodo como probabilistico debido a que se consigue sincronizacion solo si el tiempo de respuesta es suficientemente corto comparado con la precision requerida 1 Consiste en un servidor conectado a una fuente de UTC y unos clientes que se sincronizan con dicho servidor Indice 1 Introduccion 2 Sincronizacion interna en un sistema sincrono 3 Funcionamiento del algoritmo 4 Inconvenientes 5 Referencias 6 BibliografiaIntroduccion EditarLa sincronizacion de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten de forma cronologica y a la misma vez respetar el orden de los eventos dentro del sistema Existen dos tipos de sincronizacion de relojes fisicos Sincronizacion externa consiste en sincronizar los relojes de los procesos Ci con una fuente de tiempo externa fiable S t Ci t lt D siendo D un limite mayor que cero y S una fuente de tiempo UTC dd Sincronizacion interna si los relojes Ci estan sincronizados entre ellos con un conocido grado de precision y no necesariamente sincronizados con una fuente externa de tiempo Ci t Cj t lt D siendo D un limite mayor que cero dd Sincronizacion interna en un sistema sincrono EditarEn un sistema sincrono son conocidos Los limites de deriva de los relojes El maximo retardo de transmision de mensajes Tiempo para ejecutar cada paso de un proceso El proceso seguido para la sincronizacion entre dos procesos es el siguiente Un proceso envia el tiempo t de su reloj local a otro proceso en un mensaje m El proceso receptor puede actualizar su reloj con el tiempo t TTRANS al recibir el mensaje donde TTRANS es el tiempo empleado en transmitir el mensaje m entre ellos TTRANS es desconocido y no se puede determinar pues depende del trafico de red Pese a ello se puede establecer un minimo tiempo de transmision que se obtiene cuando no hay trafico en la red ni otros procesos y un maximo estimado La incertidumbre en el tiempo de transmision del mensaje se define como u max min Si el receptor coloca su reloj a t min el sesgo del reloj puede ser como mucho u Si el receptor coloca su reloj a t max el sesgo del reloj puede ser como mucho u Si el receptor coloca su reloj a t max min 2 el sesgo es como mucho u 2 En general para un sistema sincrono el error optimo cuando se sincronizan N relojes es u 1 1 N La mayoria de los sistemas distribuidos son asincronos y no tienen definido un limite maximo para la transmision de mensajes por lo tanto TTRANS min x el valor de x es mayor o igual que cero y depende de cada caso en particular dd Funcionamiento del algoritmo EditarUn proceso p hace una peticion de tiempo al servidor en un mensaje mr El servidor responde con un mensaje mt en el que incluye su tiempo TUTC El proceso que recibe el mensaje mt actualiza su reloj con el tiempo TUTC pero hay que considerar el error cometido pues se ha requerido un tiempo para la transmision del mensaje desde el servidor Se mide el tiempo que se tarda en recibir la respuesta desde que de envia el mensaje de peticion TVIAJE El tiempo estimado de propagacion en ausencia de otra informacion sera TVIAJE 2 por lo que el cliente sincroniza su reloj a TUTC TVIAJE 2 Esta estimacion puede mejorarse si se conoce el tiempo minimo de propagacion del mensaje El tiempo minimo en el que el servidor escribio el mensaje es min El tiempo maximo en el que el servidor escribio el mensaje es TVIAJE min Por lo tanto el tiempo en el que el mensaje del servidor es recibido se situa en el rango CUTC min CUTC TVIAJE min cuya anchura es TVIAJE 2min asi que la precision es TVIAJE 2 min Inconvenientes EditarEl problema que se presenta es la posibilidad de fallo debido a la existencia de un unico servidor Cristian sugiere multiples servidores de tiempo sincronizados que suministren el tiempo El cliente envia un mensaje de peticion a todos los servidores y toma la primera respuesta recibida El algoritmo no contempla problemas de malfuncionamiento o fraude por parte del servidor Referencias Editar G Colouris J Dollimore T Kindberg and G Blair Distributed Systems Concepts and Design 5th Ed Addison Wesley 2011 Bibliografia EditarG Colouris J Dollimore T Kindberg and G Blair Distributed Systems Concepts and Design 5th Ed Addison Wesley 2011 Cristian F 1989 Probabilistic clock synchronization Distributed Computing Springer 3 3 146 158 Datos Q798919Obtenido de https es wikipedia org w index php title Algoritmo de Cristian amp oldid 117944296, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos