1 Sincronización de RelojesGianfranco Azzato Verónica Cuello Vanessa Quintas Marcos Retzignac
2 Sincronización de RelojesPropiedades 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.
3 Sincronización de RelojesProblemas a considerar Tiempos y estados globales. Exclusión mutua. Algoritmos de elección. Operaciones atómicas distribuidas.
4 Sincronización de RelojesNTP Network Time Protocol
5 Sincronización de RelojesNTP (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.
6 Sincronización de RelojesNTP (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.
7 Sincronización de RelojesNTP (Network Time Protocol ) Encapsulado
8 Sincronización de RelojesNTP (Network Time Protocol )
9 Sincronización de RelojesNTP (Network Time Protocol ) El Demonio NNTPD Activo / Pasivo simétrico Retransmisión / Multirretransmisión Cliente / Servidor Transmisión Múltiple
10 Sincronización de RelojesNTP (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
11 Sincronización de RelojesNTP (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)
12 Sincronización de RelojesNTP (Network Time Protocol ) Aproximaciones a la arquitectura NTP
13 Sincronización de RelojesNTP (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.
14 Sincronización de RelojesNTP (Network Time Protocol ) Proceso de Descomposición
15 Sincronización de RelojesNTP (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.
16 Sincronización de RelojesEXCLUSIÓN MUTUA
17 Sincronización de RelojesExclusión mutua Soluciones para el problema de exclusión mutua en Sistemas Distribuidos: Enfoque Centralizado Enfoque Distribuído
18 Sincronización de RelojesExclusió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
19 Sincronización de RelojesExclusió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
20 Sincronización de RelojesAlgoritmo 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 . . .
21 Sincronización de RelojesAlgoritmo 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.
22 Sincronización de RelojesAlgoritmo 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 8 8 12 1 2 12 12
23 Sincronización de RelojesAlgoritmo de Ricart y Agrawala Entra a la Sección Crítica OK OK 1 2 OK
24 Sincronización de RelojesAlgoritmo de Ricart y Agrawala OK 1 2
25 Sincronización de RelojesAlgoritmo 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.
26 Sincronización de RelojesAlgoritmos de Elección
27 Algoritmo de Anillo (Chang y Roberts)Sincronización de Relojes Algoritmo de Anillo (Chang y Roberts) 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.
28 Variante – Tanenbaum [1992]Sincronización de Relojes Variante – Tanenbaum [1992] 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.
29 Variante – Tanenbaum [1992]Sincronización de Relojes Variante – Tanenbaum [1992] 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.
30 Variante – Tanenbaum [1992]Sincronización de Relojes Variante – Tanenbaum [1992] 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.
31 Variante – Tanenbaum [1992]Sincronización de Relojes Variante – Tanenbaum [1992] 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”
32 GRACIAS