320 likes | 556 Views
Sincronizaci ón de Relojes. Gianfranco Azzato Verónica Cuello Vanessa Quintas Marcos Retzignac. Sincronizaci ón de Relojes. Propiedades de los Algoritmos Distribuidos. La información relevante se distribuye entre varias máquinas. Los procesos toman las decisiones sólo con
E N D
Sincronización de Relojes Gianfranco Azzato Verónica Cuello Vanessa Quintas Marcos Retzignac
Sincronización de Relojes • Propiedades de los Algoritmos Distribuidos • La información relevante se distribuye entre • varias máquinas. • Los procesos toman las decisiones sólo con • base en la información disponible en forma local. • Debe evitarse un punto de fallo en el sistema. • No existe un reloj común o alguna otra fuente • precisa del tiempo global.
Sincronización de Relojes • Problemas a considerar • Tiempos y estados globales. • Exclusión mutua. • Algoritmos de elección. • Operaciones atómicas distribuidas.
Sincronización de Relojes NTP Network Time Protocol
Sincronización de Relojes • NTP (Network Time Protocol ) • Mejorar la precisión para las necesidades de hoy en día • Mejoras en los modelos de reloj que predicen con mas Precisión la fase y frecuencia del ruido • Algoritmos que reducen el impacto del retraso y de las imprecisiones del reloj. • Rediseño de los algoritmos de disciplina del reloj que pueden operar con bloqueos de frecuencia, fase o un modelo híbrido. • Las mejoras confirmadas por simulación, incrementan la precisión en un factor de décimas, mientras permiten que los intervalos de sondeo sean mucho mayores sin significantes reducciones en la precisión.
Sincronización de Relojes • NTP (Network Time Protocol ) • Encapsulado • STRATUM 1 : En este stratum están los servidores primarios que se sincronizan con hora nacional a través de radio, satélite, y módem. • STRATUM 2 : aquí aparecen servidores secundarios y clientes se sincronizan con los servidores primarios a través de la subred jerárquica.
Sincronización de Relojes • NTP (Network Time Protocol ) • Encapsulado
Sincronización de Relojes • NTP (Network Time Protocol )
Sincronización de Relojes • NTP (Network Time Protocol ) • El Demonio NNTPD • Activo / Pasivo simétrico • Retransmisión / Multirretransmisión • Cliente / Servidor • Transmisión Múltiple
Sincronización de Relojes • NTP (Network Time Protocol ) • Configuraciones NTP • Cliente / Servidor : también llamado maestro / esclavo, un cliente se sincroniza igual que el modo RPC convencional • Simétrico: permite que cada uno de los dos servidores sincronizarse con otro para proporcionarse copias de seguridad mutuamente • Broadcast: muchos clientes se pueden sincronizar con uno o varios servidores reduciendo el tráfico en la red cuando están involucrados un gran número de clientes
Sincronización de Relojes • NTP (Network Time Protocol ) • Esquemas de diferentes Configuraciones Las workstation usan el modo multicast con múltiples servidores de departamento. Los servidores de departamento usan modos cliente/servidor con múltiples servidores secundarios (nivel superior en la subred) y modos simétricos los unos con los otros. Los servidores secundarios usan modos cliente/servidor con mas de seis servidores externos, modos simétricos con los otros y un servidor NTP secundario externo.(buddy)
Sincronización de Relojes • NTP (Network Time Protocol ) • Aproximaciones a la arquitectura NTP
Sincronización de Relojes • NTP (Network Time Protocol ) • Aproximaciones a la arquitectura NTP • Algoritmo de Intersección: Escogen la mejor y descartan el resto • Algoritmo de Cloustering: Escogen la mejor y descartan el resto • Algoritmo de Selección y Combinación: computan la media de los offsets de tiempo. • Filtro del Bucle y variación de la frecuencia del Oscilador (VFO):implementan bloqueos híbridos de la fase y la frecuencia realimentando a los otros filtros para minimizar el jitter y fluctuaciones NTP.
Sincronización de Relojes • NTP (Network Time Protocol ) • Proceso de Descomposición
Sincronización de Relojes • NTP (Network Time Protocol ) • Aplicaciones de NTP • Fisica: la comunicación entre computadoras es mas fácil si los • computadores están sincronizados y está menos sujeta a desfases • Geofísica: necesita de medidas exactas de tiempo para determinar epicentros de terremotos y así por el estilo. • Correo electrónico: Fiabilidad en la fecha y hora de los mensajes. • Proxy-cache: En el intercambio de documentos entre servidores es muy importante que los tiempos que cada servidor asocia al documento (últimamodificación, tiempo en la cache, etc...) sean precisos para el correcto funcionamiento de la política de refresco y expiración de documentos de la cache. • Seguridad en la red: La detección de problemas de seguridad frecuentemente exige poder comparar datos de los acceso de máquinas diferentes, para lo que es imprescindible la coincidencia horaria de las mismas.
Sincronización de Relojes EXCLUSIÓN MUTUA
Sincronización de Relojes • Exclusión mutua • Soluciones para el problema de exclusión mutua en Sistemas Distribuidos: • Enfoque Centralizado • Enfoque Distribuído
Sincronización de Relojes • Exclusión mutua • Para que un algoritmo de exclusión mutua • sea correcto debe ser: • Libre de Interbloqueos • Libre de Esperas Infinitas • Justo • Tolerante a Fallas
Sincronización de Relojes • Exclusión mutua • Control Centralizado: Un maestro manriene la lista de todos los procesos Que solicitan la entrada a una sección crítica • Control Distribuido: No existe un solo maestro, todos los nodos toman la decisión con base al estado global del sistema
Sincronización de Relojes • Algoritmo de Ricart y Agrawala • La idea básica del algoritmo es que el proceso • que requiere entrar a su Sección Crítica envía • un mensaje a todos los procesos y entra, • únicamente, cuando recibe un reconocimiento • de todos ellos. 2 1 3 x n 4 . . .
Sincronización de Relojes • Algoritmo de Ricart y Agrawala • Construye un mensaje con el nombre de la sección crítica, su número de proceso y la hora actual. • Envía el mensaje a todos los demás procesos, incluyéndose a sí mismo (Se supone un envío confiable). • Cuando un proceso recibe un mensaje de solicitud de otro proceso: • 1. Si el receptor no está en la región crítica y • no desea entrar a ella -> OK • 2. Si el receptor ya está en la región crítica no • responde sino que incluye la solicitud en una lista. • 3. Si el receptor desea entrar a la región crítica pero no • lo ha logrado compara la marca de tiempo del mensaje • recibido con la marca del mensaje que envió a cada • uno. Si el suyo es menor encola la petición, si no envía OK.
Sincronización de Relojes • Algoritmo de Ricart y Agrawala • Dos procesos quieren hacer uso de la Sección • Crítica al mismo tiempo. En particular, • los procesos 0 y 2 son los involucrados. 8 0 8 8 12 2 1 12 12
Sincronización de Relojes • Algoritmo de Ricart y Agrawala Entra a la Sección Crítica 0 OK OK 2 1 OK
Sincronización de Relojes • Algoritmo de Ricart y Agrawala 0 OK 2 1
Sincronización de Relojes • Algoritmo de Ricart y Agrawala • Problemas: • 1. Si cualquier proceso falla no es posible • responder a las peticiones hechas (se puede • interpretar incorrectamente). Probabilidad de • falla contra un proceso coordinador es n veces • mayor. • 2. Primitiva de comunicación de membresía de • grupo.
Sincronización de Relojes Algoritmos de Elección
Sincronización de Relojes • No se conoce la identidad de los otros procesos a priori. • Sólo existe comunicación entre vecinos (en un sentido). • Se asume la funcionalidad y alcance de los procesos durante la elección. Algoritmo de Anillo (Chang y Roberts)
Sincronización de Relojes 1.- Inicialmente cada proceso se marca como “no participante”. 2.- Cualquier proceso puede iniciar la elección. - Se marca como “participante”. - Envía un mensaje de “elección” con su ID al vecino. Variante – Tanenbaum [1992]
Sincronización de Relojes 3.- Cuando se recibe un mensaje de “elección” se compara el ID del mensaje con el propio. - IDmensaje > IDreceptor, se reenvía. - IDmensaje <IDreceptor, y el receptor no es “participante”, se sustituye el ID y se reenvía. - IDmensaje < IDreceptor, y el receptor es “participante”, no se reenvía. - IDmensaje = IDreceptor, este proceso pasa a ser el coordinador. Variante – Tanenbaum [1992]
Sincronización de Relojes 4.- El coordinador se marca como “no participante”, y envía un mensaje de “elegido” con su ID. 5.- Cuando se recibe un mensaje de “elegido” por cualquier otro proceso (no coordinador) se marca como “no participante” y reenvía el mensaje. Variante – Tanenbaum [1992]
Sincronización de Relojes • Peor Caso: • Cuando sólo un proceso empieza la elección y su vecino “contrario” es el de mayor ID. • Se envían 3n – 1 mensajes en total. • * n – 1 hasta llegar al vecino de mayor ID • * n mensajes de este vecino a través del anillo • * n mensajes de “elegido” Variante – Tanenbaum [1992]