SINCRONIZACIÓN DE LOS SISTEMAS DISTRIBUIDOS
Además de la comunicación, es fundamental la forma en que los procesos :
- Cooperan.
- Se sincronizan entre sí.
- Forma de implantar las regiones críticas.
- Forma de asignar recursos en un sistema distribuido.
- Generalmente se resuelven en sistemas de una sola cpu con métodos como los semáforos y los monitores:
- Se basan en la memoria compartida.
- No son aplicables a sistemas distribuidos.
Generalmente los algoritmos distribuidos tienen las siguientes propiedades :
- La información relevante se distribuye entre varias máquinas.
- Los procesos toman las decisiones solo con base en la información disponible en forma local.
- Debe evitarse un único punto de fallo en el sistema.
- No existe un reloj común o alguna otra fuente precisa del tiempo global.
- En un sistema centralizado el tiempo no es ambiguo.
- En un sistema distribuido no es trivial poner de acuerdo a todas las máquinas en la hora.
- Se requiere un acuerdo global en el tiempo, pues la falta de sincronización en los relojes puede ser drástica en procesos dependientes del tiempo.
RELOJES LOGICOS
Las computadoras poseen un circuito para el registro del tiempo conocido como dispositivo reloj.
Es un cronómetro consistente en un cristal de cuarzo de precisión sometido a una tensión eléctrica que:
- Oscila con una frecuencia bien definida que depende de:
- Al forma en que se corte el cristal.
- El tipo de cristal.
- La magnitud de la tensión.
- A cada cristal se le asocian dos registros:
- Registro contador.
- Registro mantenedor.
- Cada oscilación del cristal decrementa en “1” al contador.
- Cuando el contador llega a “0”:
- Se genera una interrupción.
- El contador se vuelve a cargar mediante el registro mantenedor.
- Se puede programar un cronómetro para que genere una interrupción “x” veces por segundo.
- Cada interrupción se denomina marca de reloj.
- No interesan pequeños desfasajes del reloj porque:
- Todos los procesos de la máquina usan el mismo reloj y tendrán consistencia interna.
- Importan los tiempos relativos.
- Es imposible garantizar que los cristales de computadoras distintas oscilen con la misma frecuencia.
- Habrá una pérdida de sincronía en los relojes (de software), es decir que tendrán valores distintos al ser leidos.
Lamport señaló que la sincronización de relojes no tiene que ser absoluta:
- Si 2 procesos no interactúan no es necesario que sus relojes estén sincronizados.
- Generalmente lo importante no es que los procesos estén de acuerdo en la hora, pero sí importa que coincidan en el orden en que ocurren los eventos.
- No interesa su cercanía particular al tiempo real (oficial).
- Los relojes se denominan relojes lógicos.
- Deben ser iguales (estar sincronizados).
- No deben desviarse del tiempo real más allá de cierta magnitud.
- Si “a” y “b” son eventos en el mismo proceso y “a” ocurre antes de “b”, entonces “a –> b” es verdadero.
- “Ocurre antes de” es una relación transitiva:
- Si “a –> b” y “b –> c”, entonces “a –> c”.
- Si dos eventos “x” e “y” están en procesos diferentes que no intercambian mensajes, entonces “x –> y” no es verdadero, pero tampoco lo es “y –> x”:
- Se dice que son eventos concurrentes.
- Se debe cumplir que:
- Si “a –> b” entonces “C(a) < C(b)”.
- El tiempo del reloj, “C”, siempre debe ir hacia adelante (creciente), y nunca hacia atrás (decreciente).
- El proceso “0” envía el mensaje “a” al proceso “1” cuando el reloj de “0” marca “6”.
- El proceso “1” recibe el mensaje “a” cuando su reloj marca “16”.
- Si el mensaje acarrea el tiempo de inicio “6”, el proceso “1” considerará que tardó 10 marcas de reloj en viajar.
- El mensaje “b” de “1” a “2” tarda 16 marcas de reloj.
- El mensaje “c” de “2” a “1” sale en “60” y llega en “56”, tardaría un tiempo negativo, lo cual es imposible.
- El mensaje “d” de “1” a “0” sale en “64” y llega en “54”.
- Lamport utiliza la relación “ocurre antes de”:
- Si “c” sale en “60” debe llegar en “61” o en un tiempo posterior.
- Cada mensaje acarrea el tiempo de envío, de acuerdo con el reloj del emisor.
- Cuando un mensaje llega y el reloj del receptor muestra un valor anterior al tiempo en que se envió el mensaje:
- El receptor adelanta su reloj para que tenga una unidad más que el tiempo de envío.
- Entre dos eventos cualesquiera, el reloj debe marcar al menos una vez.
- Dos eventos no deben ocurrir exactamente al mismo tiempo.
- Si “a” ocurre antes de “b” en el mismo proceso, “C(a) < C(b)”.
- Si “a” y “b” son el envío y recepción de un mensaje, “C(a) < C(b)”.
- Para todos los eventos “a” y “b”, “C(a)” es distinto de “C(b)”.
- Los valores de tiempo asignados a los eventos no tienen porqué ser cercanos a los tiempos reales en los que ocurren.
- En ciertos sistemas (ej.: sistemas de tiempo real ), es importante la hora real del reloj:
- Se precisan relojes físicos externos (más de uno).
- Se deben sincronizar:
- Con los relojes del mundo real.
- Entre sí.
Se considera el día solar al intervalo entre dos tránsitos consecutivos del sol, donde el tránsito del sol es el evento en que el sol alcanza su punto aparentemente más alto en el cielo.
El segundo solar se define como 1 / 86.400 de un día solar.
Como el período de rotación de la tierra no es constante, se considera el segundo solar promedio de un gran número de días.
Los físicos definieron al segundo como el tiempo que tarda el átomo de cesio 133 para hacer 9.192.631.770 transiciones:
- Se tomó este número para que el segundo atómico coincida con el segundo solar promedio de 1958.
- La BIH introduce segundos de salto para hacer las correcciones necesarias para que permanezcan en fase:
- El sistema de tiempo basado en los segundos TAI.
- El movimiento aparente del sol.
- Surge el tiempo coordenado universal (UTC).
- Operan estaciones de radio de onda corta o satélites de comunicaciones.
- Transmiten pulsos UTC con cierta regularidad establecida (cada segundo, cada 0,5 mseg, etc.).
- Se deben conocer con precisión la posición relativa del emisor y del receptor:
- Se debe compensar el retraso de propagación de la señal.
- Si la señal se recibe por módem también se debe compensar por la ruta de la señal y la velocidad del módem.
- Se dificulta la obtención del tiempo con una precisión extremadamente alta.
No hay comentarios:
Publicar un comentario