Está en la página 1de 3

El Tiempo y la Coordinacin Distribuida Sincronizacin. Algoritmos para la Sincronizacin de Relojes.

La sincronizacin de relojes en un sistema distribuido consiste en garantizar que los procesos se ejecuten en forma cronolgica y a la misma vez respetar el orden de los eventos dentro del sistema. Para lograr esto existen varios mtodos o algoritmos que se programan dentro del sistema operativo, entre los cuales tenemos: Este algoritmo est basado en el uso del tiempo coordenado universal (siglas en ingls, UTC), el cual es recibido por un equipo dentro del sistema distribuido. Este equipo, denominado receptor de UTC, recibe a su vez solicitudes peridicas del tiempo del resto de mquinas del sistema a cada uno de los cuales les enva una respuesta en el menor plazo posible informando el tiempo UTC solicitado, con lo cual todas las mquinas del sistema actualicen su hora y se mantenga as sincronizado todo el sistema. El receptor de UTC recibe el tiempo a travs de diversos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros. Un gran problema en este algoritmo es que el tiempo no puede correr hacia atrs:
o o o

El tiempo del receptor UTC no puede ser menor que el tiempo de la mquina que le solicit el tiempo. El servidor de UTC debe procesar las solicitudes de tiempo con el concepto de interrupciones, lo cual incide en el tiempo de atencin. El intervalo de transmisin de la solicitud y su respuesta debe ser tomado en cuenta para la sincronizacin. El tiempo de propagacin se suma al tiempo del servidor para sincronizar al emisor cuando ste recibe la respuesta.

Algoritmo de Cristian Un sistema distribuido basado en el algoritmo de Berkeley no dispone del tiempo coordenado universal (UTC); en lugar de ello, el sistema maneja su propia hora. Para realizar la sincronizacin del tiempo en el sistema, tambin existe un servidor de tiempo que, a diferencia del algoritmo de Cristian, se comporta de manera activa. Este servidor realiza un muestreo peridico del tiempo que poseen algunas de las mquinas del sistema, con lo cual calcula un tiempo promedio, el cual es enviado a todas las mquinas del sistema a fin de sincronizarlo.

Algoritmo de Berkeley En el algoritmo de Cristian el servidor de tiempo es pasivo. En el algoritmo de Berkeley el servidor de tiempo:

Es activo. Realiza un muestreo peridico de todas las mquinas para preguntarles el tiempo. Con las respuestas: o Calcula un tiempo promedio. o Indica a las dems mquinas que avancen su reloj o disminuyan la velocidad del mismo hasta lograr la disminucin requerida.

Es adecuado cuando no se dispone de un receptor UTC.

Algoritmos de Eleccin Algoritmo de Anillo Se supone que los procesos tienen un orden fsico o lgico, es decir que cada proceso conoce a su sucesor. Cuando algn proceso observa que el coordinador no funciona:

Construye un mensaje eleccin con su propio nmero de proceso. Enva el mensaje a su sucesor. Si el sucesor est inactivo:

El emisor va hacia el siguiente nmero del anillo o al siguiente de ste. o Contina hasta localizar un proceso en ejecucin. o En cada paso, al emisor aade su propio nmero de proceso a la lista en el mensaje. En cierto momento el mensaje regresa al proceso que lo inici: o El proceso lo reconoce al recibir un mensaje con su propio nmero de proceso. El mensaje de eleccin se transforma en mensaje coordinador y circula nuevamente: o Informa a los dems procesos: Quin es el coordinador, es decir, el miembro de la lista con el nmero mayor. Quines son los miembros del nuevo anillo. Concluida la ronda de informacin el mensaje coordinador se elimina y continan los procesos.
o

También podría gustarte