Introducción a La Sincronización en Sistemas Distribuidos
Short Description
ALGO BASICO...
Description
Introducción a la Sincronización en Sistemas Distribuidos En sistemas con una única CPU las regiones críticas, la exclusión mutua y otros problemas de sincronización son resueltos generalmente utilizando mtodos como sem!"oros y monitores# Estos mtodos no se a$ustan para ser usados en sistemas distribuidos ya %ue in&ariablemente se basan en la existencia de una memoria memoria compartida# 'ipos Sincronización de relo$es (lgoritmos para la Sincronización de )elo$es (lgoritmo de Cristian (lgoritmo de *er+eley )elo$es "i$os Exclusión utua (lgoritmos no basados en paso de mensa$es *lo%ueos en Sistemas Distribuidos Sincronización de )elo$es Un sistema distribuido debe permitir el apropiado uso de los recursos, debe encargarse de un buen desempe-o y de la consistencia consistencia de los datos, adem!s adem!s de mantener seguras todas todas estas operaciones .a sincronización de procesos en los sistemas distribuidos resulta m!s comple$a %ue en los centralizados, debido a %ue la in"ormación y el procesamiento se mantienen en di"erentes nodos# Un sistema distribuido debe mantener &istas parciales y consistentes de todos los procesos cooperati&os y de de cómputo# 'ales 'ales &istas pueden pueden ser pro&istas por los mecanismos mecanismos de sincronización# El trmino sincronización se de"ine como la "orma de "orzar un orden parcial o
total en cual%uier con$unto de e&entos, y es usado para /acer re"erencia a tres problemas distintos pero relacionados entre sí0 1# .a sincronización entre el emisor y el receptor# 2# .a especi"icación y control de la acti&idad común entre procesos cooperati&os# 3# .a serialización de accesos concurrentes a ob$etos compartidos por múltiples procesos# 4aciendo re"erencia a los mtodos utilizados en un sistema centralizado, el cual /ace uso de sem!"oros y monitores5 en un sistema distribuido se utilizan algoritmos distribuidos para sincronizar el traba$o común entre los procesos y estos algoritmos
.a in"ormación rele&ante se distribuye entre &arias m!%uinas# .os procesos toman las decisiones solo con base en la in"ormación disponible en "orma local# Debe e&itarse un único punto de "allo en el sistema# 6o existe un relo$ común o alguna otra "uente precisa del tiempo global# .os primeros tres puntos indican %ue es inaceptable reunir toda la in"ormación en un solo lugar para su procesamiento, pero lograr la sincronización sin centralización re%uiere /acer las cosas distintas al caso de los sistemas operati&os tradicionales# El último punto tambin es crucial0 En un sistema centralizado el tiempo no es a mbiguo# En un sistema distribuido no es tri&ial poner de ac uerdo a todas las m!%uinas en la /ora# Se re%uiere un acuerdo global en el tiempo, pues la "alta de sincronización en los relo$es puede ser dr!stica en procesos dependientes del tiempo# .a pregunta es si es posible sincronizar todos los relo$es en un sistema distribuido#
(lgoritmos Para la Sincronización de )elo$es .a sincronización de relo$es en un sistema distribuido consiste en garantizar %ue los procesos se e$ecuten en "orma cronológica y a la misma &ez respetar el orden de los e&entos dentro del sistema# Para lograr esto existen &arios mtodos o algoritmos %ue se programan dentro del sistema operati&o, entre los cuales tenemos0 (lgoritmo de Cristian Este algoritmo est! basado en el uso del tiempo coordenado uni&ersal 7siglas en ingls, U'C8, el cual es recibido por un e%uipo dentro del sistema distribuido# Este e%uipo, denominado receptor de U'C, recibe a su &ez solicitudes periódicas del tiempo del resto de m!%uinas del sistema a cada uno de los cuales les en&ía una respuesta en el menor plazo posible in"ormando el tiempo
total en cual%uier con$unto de e&entos, y es usado para /acer re"erencia a tres problemas distintos pero relacionados entre sí0 1# .a sincronización entre el emisor y el receptor# 2# .a especi"icación y control de la acti&idad común entre procesos cooperati&os# 3# .a serialización de accesos concurrentes a ob$etos compartidos por múltiples procesos# 4aciendo re"erencia a los mtodos utilizados en un sistema centralizado, el cual /ace uso de sem!"oros y monitores5 en un sistema distribuido se utilizan algoritmos distribuidos para sincronizar el traba$o común entre los procesos y estos algoritmos
.a in"ormación rele&ante se distribuye entre &arias m!%uinas# .os procesos toman las decisiones solo con base en la in"ormación disponible en "orma local# Debe e&itarse un único punto de "allo en el sistema# 6o existe un relo$ común o alguna otra "uente precisa del tiempo global# .os primeros tres puntos indican %ue es inaceptable reunir toda la in"ormación en un solo lugar para su procesamiento, pero lograr la sincronización sin centralización re%uiere /acer las cosas distintas al caso de los sistemas operati&os tradicionales# El último punto tambin es crucial0 En un sistema centralizado el tiempo no es a mbiguo# En un sistema distribuido no es tri&ial poner de ac uerdo a todas las m!%uinas en la /ora# Se re%uiere un acuerdo global en el tiempo, pues la "alta de sincronización en los relo$es puede ser dr!stica en procesos dependientes del tiempo# .a pregunta es si es posible sincronizar todos los relo$es en un sistema distribuido#
(lgoritmos Para la Sincronización de )elo$es .a sincronización de relo$es en un sistema distribuido consiste en garantizar %ue los procesos se e$ecuten en "orma cronológica y a la misma &ez respetar el orden de los e&entos dentro del sistema# Para lograr esto existen &arios mtodos o algoritmos %ue se programan dentro del sistema operati&o, entre los cuales tenemos0 (lgoritmo de Cristian Este algoritmo est! basado en el uso del tiempo coordenado uni&ersal 7siglas en ingls, U'C8, el cual es recibido por un e%uipo dentro del sistema distribuido# Este e%uipo, denominado receptor de U'C, recibe a su &ez solicitudes periódicas del tiempo del resto de m!%uinas del sistema a cada uno de los cuales les en&ía una respuesta en el menor plazo posible in"ormando el tiempo U'C solicitado, con lo cual todas las m!%uinas del sistema actualicen su /ora y se mantenga así sincronizado todo el sistema# El receptor de U'C recibe el tiempo a tra&s de di&ersos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros# Un gran problema en este algoritmo es %ue el tiempo no puede correr /acia atr!s0 El tiempo del receptor U'C no puede ser menor %ue el tiempo de la m!%uina %ue le solicitó el tiempo# El ser&idor de U'C debe procesar las solicitudes de tiempo con el concepto de interrupciones, lo cual incide en el tiempo de atención# El inter&alo de transmisión de la solicitud y su respuesta debe ser tomado en cuenta para la sincronización# El tiempo de propagación se suma al tiempo del ser&idor para sincronizar al emisor cuando ste recibe la respuesta# Para corregir el error se mide el tiempo %ue tarda en recibir la respuesta, desde %ue se en&ía el mensa$e de petición (# El tiempo se conoce como tiempo de &ia$e 7'9:ia$e8# El tiempo estimado de programación, en ausencias de otra in"ormación, ser! '9:ia$e; 2
Por lo %ue el cliente sincroniza su relo$ a '9U'C < '9:ia$e;2#
(lgoritmos Para la Sincronización de )elo$es .a sincronización de relo$es en un sistema distribuido consiste en garantizar %ue los procesos se e$ecuten en "orma cronológica y a la misma &ez respetar el orden de los e&entos dentro del sistema# Para lograr esto existen &arios mtodos o algoritmos %ue se programan dentro del sistema operati&o, entre los cuales tenemos0 (lgoritmo de Cristian Este algoritmo est! basado en el uso del tiempo coordenado uni&ersal 7siglas en ingls, U'C8, el cual es recibido por un e%uipo dentro del sistema distribuido# Este e%uipo, denominado receptor de U'C, recibe a su &ez solicitudes periódicas del tiempo del resto de m!%uinas del sistema a cada uno de los cuales les en&ía una respuesta en el menor plazo posible in"ormando el tiempo U'C solicitado, con lo cual todas las m!%uinas del sistema actualicen su /ora y se mantenga así sincronizado todo el sistema# El receptor de U'C recibe el tiempo a tra&s de di&ersos medios disponibles, entre los cuales se menciona las ondas de radio, Internet, entre otros# Un gran problema en este algoritmo es %ue el tiempo no puede correr /acia atr!s0 El tiempo del receptor U'C no puede ser menor %ue el tiempo de la m!%uina %ue le solicitó el tiempo# El ser&idor de U'C debe procesar las solicitudes de tiempo con el concepto de interrupciones, lo cual incide en el tiempo de atención# El inter&alo de transmisión de la solicitud y su respuesta debe ser tomado en cuenta para la sincronización# El tiempo de propagación se suma al tiempo del ser&idor para sincronizar al emisor cuando ste recibe la respuesta# Para corregir el error se mide el tiempo %ue tarda en recibir la respuesta, desde %ue se en&ía el mensa$e de petición (# El tiempo se conoce como tiempo de &ia$e 7'9:ia$e8# El tiempo estimado de programación, en ausencias de otra in"ormación, ser! '9:ia$e; 2
Por lo %ue el cliente sincroniza su relo$ a '9U'C < '9:ia$e;2#
(lgoritmo de *er+eley Un sistema distribuido basado en el algoritmo de *er+eley no dispone del tiempo coordenado uni&ersal 7U'C85 en lugar de ello, el sistema mane$a su propia /ora# Para realizar la sincronización del tiempo en el sistema, tambin existe un ser&idor de tiempo %ue, a di"erencia del algoritmo de Cristian, se comporta de manera acti&a# Este ser&idor realiza un muestreo periódico del tiempo %ue poseen algunas de las m!%uinas del sistema, con lo cual calcula un tiempo promedio, el cual es en&iado a todas las m!%uinas del sistema a "in de sincronizarlo#
= El demonio del tiempo en&ía un mensa$e con su /ora actual a todas las m!%uinas del sistema, incluyendo su misma m!%uina# = .as m!%uinas responden en&iando la di"erencia de su relo$ con la /ora recibida# = El demonio del calcula un tiempo promedio y le indica a todas las dem!s m!%uinas %ue a&ancen su relo$ a la nue&a /ora o %ue disminuyan la &elocidad del mismo /asta lograr cierta reducción especí"ica# En el algoritmo de Cristian el ser&idor de tiempo es pasi&o#
Por lo %ue el cliente sincroniza su relo$ a '9U'C < '9:ia$e;2#
(lgoritmo de *er+eley Un sistema distribuido basado en el algoritmo de *er+eley no dispone del tiempo coordenado uni&ersal 7U'C85 en lugar de ello, el sistema mane$a su propia /ora# Para realizar la sincronización del tiempo en el sistema, tambin existe un ser&idor de tiempo %ue, a di"erencia del algoritmo de Cristian, se comporta de manera acti&a# Este ser&idor realiza un muestreo periódico del tiempo %ue poseen algunas de las m!%uinas del sistema, con lo cual calcula un tiempo promedio, el cual es en&iado a todas las m!%uinas del sistema a "in de sincronizarlo#
= El demonio del tiempo en&ía un mensa$e con su /ora actual a todas las m!%uinas del sistema, incluyendo su misma m!%uina# = .as m!%uinas responden en&iando la di"erencia de su relo$ con la /ora recibida# = El demonio del calcula un tiempo promedio y le indica a todas las dem!s m!%uinas %ue a&ancen su relo$ a la nue&a /ora o %ue disminuyan la &elocidad del mismo /asta lograr cierta reducción especí"ica# En el algoritmo de Cristian el ser&idor de tiempo es pasi&o# En el algoritmo de *er+eley el ser&idor de tiempo0 Es acti&o# )ealiza un muestreo periódico de todas las m!%uinas para preguntarles el tiempo# Con las respuestas0 Calcula un tiempo promedio# Indica a las dem!s m!%uinas %ue a&ancen su relo$ o disminuyan la &elocidad del mismo /asta lograr la disminución re%uerida#
= El demonio del tiempo en&ía un mensa$e con su /ora actual a todas las m!%uinas del sistema, incluyendo su misma m!%uina# = .as m!%uinas responden en&iando la di"erencia de su relo$ con la /ora recibida# = El demonio del calcula un tiempo promedio y le indica a todas las dem!s m!%uinas %ue a&ancen su relo$ a la nue&a /ora o %ue disminuyan la &elocidad del mismo /asta lograr cierta reducción especí"ica# En el algoritmo de Cristian el ser&idor de tiempo es pasi&o# En el algoritmo de *er+eley el ser&idor de tiempo0 Es acti&o# )ealiza un muestreo periódico de todas las m!%uinas para preguntarles el tiempo# Con las respuestas0 Calcula un tiempo promedio# Indica a las dem!s m!%uinas %ue a&ancen su relo$ o disminuyan la &elocidad del mismo /asta lograr la disminución re%uerida#
(lgoritmo de .amport0 .amport de"inió una relación llamada >ocurre antes de?# .a expresión ( 9@ * se lee0 ( ocurre antes de *# .a relación Aocurre antes deA cumple con las siguientes propiedades0 = Si ( y * son e&entos en el mismo proceso y ( ocurre antes de *, entonces ( 9@ * es &erdadero# = Si ( 9@ * y * 9@ C, entonces ( 9@ C# = Si dos e&entos B e est!n en procesos di"erentes %ue no intercambian mensa$es, entonces B @ no es &erdadero, pero tampoco lo es @ B# Se dice %ue son e&entos concurrentes#
= Si ( es el e&ento del en&ió de un mensa$e por un proceso y * es el e&ento de la recepción del mensa$e por otro, entonces ( 9@ * tambin es &erdadero# Un mensa$e no se puede recibir antes de ser en&iado o al mismo tiempo en %ue se en&ía, puesto %ue tarda en llegar una cantidad fnita de tiempo.
(lgoritmo de .amport0 .amport de"inió una relación llamada >ocurre antes de?# .a expresión ( 9@ * se lee0 ( ocurre antes de *# .a relación Aocurre antes deA cumple con las siguientes propiedades0 = Si ( y * son e&entos en el mismo proceso y ( ocurre antes de *, entonces ( 9@ * es &erdadero# = Si ( 9@ * y * 9@ C, entonces ( 9@ C# = Si dos e&entos B e est!n en procesos di"erentes %ue no intercambian mensa$es, entonces B @ no es &erdadero, pero tampoco lo es @ B# Se dice %ue son e&entos concurrentes#
= Si ( es el e&ento del en&ió de un mensa$e por un proceso y * es el e&ento de la recepción del mensa$e por otro, entonces ( 9@ * tambin es &erdadero# Un mensa$e no se puede recibir antes de ser en&iado o al mismo tiempo en %ue se en&ía, puesto %ue tarda en llegar una cantidad fnita de tiempo.
Relojes Físicos
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca ísica del tiempo provista o leída de
= Si ( es el e&ento del en&ió de un mensa$e por un proceso y * es el e&ento de la recepción del mensa$e por otro, entonces ( 9@ * tambin es &erdadero# Un mensa$e no se puede recibir antes de ser en&iado o al mismo tiempo en %ue se en&ía, puesto %ue tarda en llegar una cantidad fnita de tiempo.
Relojes Físicos
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca ísica del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj ísico; los errores de transmisin se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
Los valores de tiempo asignados a los eventos no tienen por qu! ser cercanos a los tiempos reales en los que ocurren. "n ciertos sistemas es importante la #ora real del reloj: $e precisan relojes ísicos externos %m&s de uno'. $e deben sincroni(ar: )on los relojes del mundo real. "ntre sí
Relojes Físicos
La idea es proveer de un único bloque de tiempo para el sistema. Los procesos pueden usar la marca ísica del tiempo provista o leída de un reloj central para expresar algún orden en el conjunto de acciones que inician. La principal ventaja de este mecanismo es la simplicidad, aunque existen varios inconvenientes: el correcto registro del tiempo depende en la posibilidad de recibir correctamente y en todo momento, el tiempo actual desplegado por el reloj ísico; los errores de transmisin se convierten en un impedimento para el orden deseado, el grado de exactitud depende de las constantes puestas en el sistema.
Los valores de tiempo asignados a los eventos no tienen por qu! ser cercanos a los tiempos reales en los que ocurren. "n ciertos sistemas es importante la #ora real del reloj: $e precisan relojes ísicos externos %m&s de uno'. $e deben sincroni(ar: )on los relojes del mundo real. "ntre sí
View more...
Comments