exclusión mutua

Download Report

Transcript exclusión mutua

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
imprecisiones del reloj.
impacto
del
retraso y de las
 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
8
•Dos procesos quieren
hacer uso de la Sección
Crítica al mismo tiempo.
En particular,
0
los procesos 0 y 2 son los involucrados.
8
8
12
1
12
2
12
Sincronización de Relojes

Algoritmo de Ricart y Agrawala
0
OK
1
Entra a la
Sección
Crítica
OK
OK
2
Sincronización de Relojes

Algoritmo de Ricart y Agrawala
0
OK
1
2
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

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.
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.
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.
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.
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”
GRACIAS