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