Tema 3 La sinc ro ni niz za c ió n en e n lo lo s sis iste tem m a s d is istr trib ibuid uid o s Departamento de Informática Universidad de Extremadura
Ing en ierí ería a Info rm á tic a . Sis Siste te m a s Op era tivos Dis Distri trib b uido s
Tema 3:
La sincronización en los Sistemas Distribuidos
1.
Proble Problemas mas plante planteado adoss en los sistem sistemas as distri distribui buidos dos
2.
Sinc Sincro roni niza zaci ción ón de relo reloje jess
3.
Exclusión mutua
4.
Algo Algori ritm tmos os de elec elecci ción ón
Inge nierí niería a Inform á tic a Sis iste te m a s Op era tivo s Dis Distri trib b uid os Tem a 3: La La sinc ronizac ión e n los sis istem tem a s d is istribuid tribuid os
Tema 3:
La sincronización en los Sistemas Distribuidos
1.
Proble Problemas mas plante planteado adoss en los sistem sistemas as distri distribui buidos dos
2.
Sinc Sincro roni niza zaci ción ón de relo reloje jess
3.
Exclusión mutua
4.
Algo Algori ritm tmos os de elec elecci ción ón
Inge nierí niería a Inform á tic a Sis iste te m a s Op era tivo s Dis Distri trib b uid os Tem a 3: La La sinc ronizac ión e n los sis istem tem a s d is istribuid tribuid os
3.1 Pr Pro b le lem m a s p la lante ntea a d o s e n los lo s S.D. No existe memoria compartida en un sistema distribuido ¿Cómo se implementa un semáforo en un sistema distribuido?
No existe una base de tiempos común en un sistema distribuido ¿Qué evento ocurre antes que otro? Inge nierí niería a Inform á tic a Sis iste te m a s Op era tivo s Dis Distri trib b uid os Tem a 3: La La sinc ronizac ión e n los sis istem tem a s d is istribuid tribuid os
3.1 Pr Pro b le lem m a s p la lante ntea a d o s e n los lo s S.D. Aspectos esenciales de los sistemas distribuidos
1. Un sistema distribuido es un conjunto de máquinas máquinas que no comparten reloj ni memoria común 2. Los procesos intercambian mensajes sobre sobre un canal canal de comunicación donde el retardo es impredecible Consecuencias:
Las nociones tradicionales de tiempo y estado no funcionan: f uncionan: 1. Ausencia de un reloj global 2. Los procesos no pueden confiar en disponer disponer de una vista global del estado del sistema debido a los retardos r etardos de la comunicación: No se puede hablar de un estado global Necesitamos desarrollar los conceptos correspondientes a tiempo y estado en los sistemas distribuidos Inge nierí niería a Inform á tic a Sis iste te m a s Op era tivo s Dis Distri trib b uid os Tem a 3: La La sinc ronizac ión e n los sis istem tem a s d is istribuid tribuid os
3.2 Sinc ro niz niza a c ió n d e re lo je jes s Recordemos las propiedades de los sistemas distribuidos: 1.La información está repartida entre múltiples máquinas 2.Los procesos toman decisiones basados únicamente en información local 3.Es preciso evitar un único punto de fallo 4.No existe un reloj común: Si P1 solicita el tiempo antes que P2:
time(P1)
time(P2)
¿ time(P1) ≤ time(P2) ?
Inge nierí niería a Inform á tic a Sis iste te m a s Op era tivo s Dis Distri trib b uid os Tem a 3: La La sinc ronizac ión e n los sis istem tem a s d is istribuid tribuid os
3.2 Sinc roniza c ión d e relojes Ejemplo: make en un Sistema Distribuido Supongamos un sistema con dos máquinas A y B con relojes desfasados en el que compilamos un fichero fuente
make Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes
make ⇒
Una invocación de make en el instante 2146 de B no recompila el nuevo fichero fuente popo.c
Surge la pregunta: ¿Es posible sincronizar los relojes en un sistema distribuido? Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes lógicos
Leslie Lamport (1978) apunta a que la sincronización no necesita ser absoluta: Si dos procesos no interactúan, no es necesario que sus relojes estén sincronizados Para muchos algoritmos, lo importante no es disponer de un reloj común, sino acordar el orden en el que ocurren los eventos En el ejemplo de make lo importante es que popo.c sea más moderno que popo.o, no sus instantes globales de creación Para estos algoritmos lo importante es hablar de relojes lógicos Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes La relación “ocurre antes”
La ejecución de un proceso es una secuencia de eventos: 1. Un evento es la ejecución de una instrucción o de una rutina 2. Enviar un mensaje es un evento. Recibirlo, también La relación “ocurre antes” se define como sigue "a → b “ si: 1. a y b ocurren en el mismo proceso y a se produce antes que b 2. a es el evento en un proceso de enviar un mensaje y b de recibirlo en otro proceso 3. Si a → b y b → c , entonces a → c
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Ejemplo
• a → b c → d b → c d → f • a y e son
concurrentes
• Observemos que " → " es una relación de orden parcial. • Los eventos no relacionados se llaman eventos concurrentes
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes El algoritmo de Lamport
1. Cada proceso P i tiene un reloj lógico propio C i 2. C i no mide el tiempo real en que ocurren los eventos de P i , sino que los etiqueta de forma consistente con la relación “ocurre antes”: Si a ∈ C i y b ∈ C j , entonces Si a → b , entonces C i (a) ≤ C j (b) Se dice que C(a) es la etiqueta temporal (time-stamp) de a
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes El reloj lógico de Lamport
Define la construcción de un reloj lógico para los eventos de un sistema distribuido: 1. En el proceso P establecemos el contador C P • Antes de que se produzca un evento C P := C P + 1 • Cuando en P se produce el evento a, este se etiqueta: C( a) := C P
2. a) Cuando P envía un mensaje m , este lleva un valor t ≡ C P b) Cuando m es recibido por Q , C Q ≡ max(C Q , t) antes de etiquetar el evento de recepción Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes El reloj lógico de Lamport
El reloj definido por el reloj físico no es un reloj lógico
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes El reloj lógico de Lamport
Reloj lógico derivado del del físico mediante el algoritmo de Lamport
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes lógicos totalmente ordenados
Se puede extender el orden parcial de la relación “ocurre antes” a un orden total mediante una regla arbitraria basada en el identificador del proceso Nueva definición de C(a): Se añade un decimal a C(a) según el proceso: La nueva función C(a) introduce un Reloj Lógico Totalmente Ordenado
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo solar
Día solar es el tiempo que transcurre desde que el sol alcanza su punto más alto en el horizonte hasta que vuelve a alcanzarlo ( ≡ 24 horas) ⇒ El segundo solar o GMT (Greenwich Mean Time) ≡ 1 día solar / (24*60*60) Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo solar medio
• •
El día solar sufre variaciones de hasta 15 minutos. La figura muestra esta variación a lo largo del año Este fenómeno se debe a: 1. La inclinación del eje de rotación respecto al plano de traslación alrededor del sol 2. El movimiento desigual causado por la órbita elíptica Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo solar medio
Además: • Estudios geológicos del coral hacen creer a los geólogos que hace 300 millones de años había 400 días/año. ¿Eran los años más largos? No, Los días eran más cortos • Las fuerzas de las mareas y las turbulencias del núcleo de hierro de la tierra provocan variaciones momentáneas en la velocidad de rotación Para solucionar todos estos problemas, se midieron las duraciones de muchos días y se tomó la media, que se conoce como el día solar medio Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo solar medio
• La gráfica se conoce realmente como la “ecuación del tiempo” • Mide la diferencia entre el día solar y el día solar medio
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo atómico Internacional
El reloj atómico se inventa en 1948. Los físicos toman el relevo a los astrónomos en la medida del tiempo • Segundo atómico Es el tiempo que el isótopo Cesio 133 tarda en realizar 9.1921631.770 transiciones • El valor 9.1921631.770 se tomó para que el segundo atómico coincidiera con el segundo solar medio del 1 de Enero de 1900 La precisión del reloj atómico es de 1 µs/año El segundo atómico se confecciona como la la media de ticks proporcionados por 150 relojes atómicos situados en 30 países desde el 1 de enero de 1958. Esta medida del tiempo se conoce como Tiempo Atómico Internacional (TAI) y se adopta oficialmente en 1967 Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo Universal Coordinado (UTC)
• Como la tierra gira cada vez más despacio, ahora: 1 día solar = 86400 segundos TAI + 3 ms • A este paso ¡ el mediodía va a ocurrir a las 9:00 TAI ! • Se creó entonces el Tiempo Universal Coordinado (UTC), que empieza el 1 de enero de 1970 • UTC corre a la tasa TAI, pero ocuando la diferencia con el tiempo solar supera los 800 ms, se añade o se resta un segundo • Las correcciones se hacen en el último minuto de junio y de diciembre, que pasa a tener 61 segundos UTC presenta problemas para los computadores, porque
no se conoce la representación de una fecha futura. Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo Universal Coordinado (UTC)
Reloj UTC durante el segundo intercalar Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo Universal Coordinado (UTC)
• Históricamente, se insertaban segundos intercalares más o menos cada 18 meses. • Sin embargo, la velocidad de rotación de la Tierra es impredecible a largo plazo, por lo que no es posible predecir su necesidad con más de seis meses de adelanto. • Entre enero de 1972 y diciembre de 1998, el IERS dio instrucciones de insertar un segundo intercalar en 22 ocasiones. • El intervalo entre el 31 de diciembre de 1998 y el 31 de diciembre de 2005, es el mayor periodo sin inserciones de segundos intercalares desde que se instauró el sistema.
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo Universal Coordinado (UTC)
• El NIST (National Institute for Standards and Technology) proporciona el UTC mediante ondas de radio, teléfono e Internet http://tf.nist.gov/timefreq/index.html
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo Universal Coordinado (UTC)
• El NIST (National Institute for Standards and Technology) proporciona el UTC mediante ondas de radio, teléfono e Internet http://tf.nist.gov/timefreq/index.html
• Su estación de radio (denominada WWV) difunde el tiempo UTC cada segundo
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Relojes físicos Tiempo Universal Coordinado (UTC)
Un reloj controlado por radio tiene una radio en su interior que recibe una señal de una estación de radio que dispone de un reloj atómico
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización
• Necesarios cuando no hay acceso a una estación WWV
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización
• La variable realtime en la máquina P es el reloj C P (t) • Idealmente C P (t) = t • Es decir dC/dt = 1
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización
• Un temporizador que interrumpa H = 60 veces por segundo genera 60x60x60 = 216.000 ticks en una hora • En la práctica el error es del 10-5 • Así, realmente, este temporizador genera 215.998 ticks /hora • Es decir, si existe una constante ρ tal que
1 − ρ ≤
dC
≤ 1 + ρ
dt se dice que el reloj está operando dentro de su especificación
• La constante ρ la determina el fabricante y se conoce como su tasa de deriva máxima Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización
• Si dos relojes derivan en dirección opuesta, en un tiempo Δt tras ser sincronizados, la diferencia entre ambos es 2ρΔt Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización
• Si se quiere garantizar que ningún par de relojes difiera en más de δ, hay que sincronizar al menos cada δ/2ρ segundos
• Los algoritmos de sincronización de relojes difieren en cómo se hace esta sincronización Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de Cristian (1989)
• • • •
Una de las máquinas de la red dispone de un receptor WWV La denominaremos el servidor de tiempo El objetivo es que el resto estén sincronizadas con ella Para ello, cada máquina envía un mensaje al menos cada cada δ/2ρ segundos • El servidor replica con su tiempo CUTC
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de Cristian
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de Cristian
• El algoritmos de cristian tiene dos problemas: 1. Problema grande:
Un reloj nunca se puede atrasar. Eso afectaría a programas como make Ocurriría si el cliente es rápido, de modo que T1 > CUTC Se soluciona ralentizando el reloj durante un intervalo apropiado, por ejemplo “olvidando” actualizar el tiempo una de cada 10 interrupciones de reloj Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de Cristian
• El algoritmos de cristian tiene dos problemas: 2. Problema pequeño:
• El tiempo que emplea la réplica en llegar. Puede ser grande y variable. • Cristian intentó medirlo. (T1-T0) será bastante exacto siempre. • (T1-T0)/2 es una buena estimación del tiempo de propagación • Cuando llega la réplica el tiempo se establece como (T1-T0)/2 + CUTC Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de Cristian
2. Problema pequeño:
• Si se conoce el tiempo de servicio, este se hay que restarlo del tiempo de propagación • Cristian propuso otras mejoras Una es tomar el tiempo varias veces, descartar los (T1-T0)/2 víctimas de la congestión de la red y realizar una media de los restantes. Otra es usar sólo la réplica más rápida Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de Berkeley (1989)
• Apropiado en redes sin acceso a una estación WWV • Esta vez el servidor es activo: Escruta el tiempo de los clientes Halla una media que radia a todos los clientes
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Algoritmos de Sincronización El algoritmo de promediado
• Apropiado en redes sin acceso a una estación WWV • Cada máquina difunde su tiempo con un periodo R • Tras su difusión, establece su tiempo como la media de las difusiones que recibe durante un intervalo S
• Frente a los anteriores, este algoritmo no tiene un único punto de fallo Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Uso de la Sincronización: Coherencia de caché
• Escenario de típico de caché de ficheros en cliente • Se distigue entre caching de lectura y escritura
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Uso de la Sincronización: Coherencia de caché
Problemas
• Puede que el cliente haya terminado hace mucho con la lectura y aùn así hay que solicitarle el permiso 4 • Si el cliente de lectura se cae, el permiso 6 no llegará: ¿Es una máquina lenta o es que se ha caído? Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Uso de la Sincronización: Coherencia de caché
• El servidor proporciona el fichero con un derecho o concesión temporal (plazo). • Con los relojes sincronizados, el plazo vence al mismo tiempo en cliente y servidor. • Si el plazo está próximo a expirar, el cliente solicita la renovación • Si el plazo expira, el fichero en caché se invalida. No es necesario comunicarlo al sevidor.
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.2 Sinc roniza c ión d e relojes Uso de la Sincronización: Coherencia de caché
• Si se cae un cliente con una concesión de lectura, no es necesario que el servidor espere la expiración del plazo de caída, sino la del plazo de concesión, que seguramente ya se habrá producido. Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua Un algoritmo centralizado
• La primera aproximación a la Región Crítica en los Sistemas Distribuidos es un proceso coordinador que registra su uso
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua Un algoritmo centralizado
Este algoritmo garantiza la exclusión mutua porque: 1. El coordinador sólo permite la entrada de un proceso 2. Es justo: las peticiones se atienden por orden de llegada 3. Ningún proceso espera indefinidamente Ventajas:
Es fácil de implementar
Inconvenientes: Tiene un único punto de fallo (centralizado)
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua El algoritmo distribuido de Ricart y Agrawala (1981)
1. Cuando un proceso quiere entrar en región crítica: • Pasa a estado SOLICITANDO • Envía un mensaje de solicitud al resto vía difusión, multicasting, ... que lleva el valor del reloj lógico local correspondiente al envío • Espera n-1 réplicas
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua El algoritmo distribuido de Ricart y Agrawala (1981)
2. Cuando recibe un mensaje de solicitud de entrada en R.C: • Si el receptor no está en R.C. y no desea entrar en ella (estado CONCEDIDO), envía un mensaje de réplica al proceso que solicitó el permiso • Si el receptor sí está en R.C. (estado OTORGADO), no envía réplica al proceso que solicitó el permiso y encola la petición (no concede el permiso) • Si el receptor no está en R.C. pero desea entrar (estado SOLICITANDO), compara el reloj del mensaje entrante con el de su mensaje de solicitud al resto ⇒ El más bajo gana: Si gana el emisor, se le envía la réplica de concesión Si gana el receptor, encola el mensaje y no envía réplica Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua El algoritmo distribuido de Ricart y Agrawala (1981)
3. Cuando un proceso abandona la región crítica, pasa a CONCEDIDO y replica a todos los procesos en la cola Ejemplo: P0 y P2 solicitan entrar en RC en (t = 8 y t=9)
Las peticiones llegan en (t = 12):
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua Comparación de algoritmos de exclusión mutua
Mensajes necesarios para obtener el permiso Puntos de fallo
Ricart y Agrawala
Centralizado
2(n-1) mensajes
2
Ricart y Agrawala
Centralizado
n-1
1
• En conjunto, el algoritmo de Ricart y Agrawala es más lento, más complicado y menos robusto, • ¿Por qué molestarse en estudiarlo? 1. Demuestra que es posible un algoritmo distribuido de RC 2. Estimula el estudio de soluciones distribuidas más avanzadas Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua Un algoritmo en anillo
• Los procesos están organizados en un anillo lógico por el que circula un testigo. • Se concede la entrada a la Región Crítica al proceso P que obtiene el testigo • Cuando llega el testigo, si el proceso P no está interesado lo pasa al siguiente proceso • Si P necesita entrar en Región Crítica, espera bloqueado la llegada del testigo Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.3 Exc lusión m utua Un algoritmo en anillo
Ricart y Agrawala Mensajes necesarios para obtener el permiso Puntos de fallo
Centralizado Anillo
2(n-1)
2
n-1
n-1
1
n-1
1. Recuperación de fallo: Cada vez que se envía el testigo se inicia un temporizador y se espera una réplica. Se retira el proceso que falla del anillo lógico 2. Inconveniente: Los mensajes se envían continuamente, aunque no sea necesario Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión • Una elección es un procedimiento que elige un proceso en un grupo a fin de que este desempeñe un papel determinado • Por ejemplo, centralizar peticiones de entrada en una región crítica, a modo de coordinador. • Vamos a considerar que los procesos implicados en la elección son idénticos, sin que ninguno de ellos tenga una característica destacable como para ser el coordinador idóneo. • Cada proceso tiene un identificador único como puede ser su dirección de red. • En general, los algoritmos de elección intentan localizar al proceso con el identificador más alto para hacerlo coordinador
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión • Para enviar los mensajes, los procesos necesitan conocer las direcciones de red de todo el grupo de procesos en busca de coordinador, de modo que la elección ya estaría hecha de antemano. • El problema es que los procesos desconocen cuáles de ellos están aún activos y cuáles no. • El requisito que debe cumplir una elección de coordinador es que esta sea única. • Los algoritmos difieren unos de otros en el modo de conseguirlo.
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión El algoritmo del matón
• Este algoritmo data de 1982 y es debido a García-Molina. • Cuando un proceso se apercibe de que el coordinador no responde a sus mensajes, inicia una convocatoria de elección • Una elección se desarrolla como sigue: 1. P envía un mensaje de tipo ELECCION a todos los procesos con identificadores más altos. 2. Si ninguno de ellos responde, P gana la elección y se convierte en el coordinador. 3. En cuanto P recibe el mensaje de respuesta de alguno de ellos, renuncia a ser el coordinador y su trabajo ha terminado. Cada uno de estos procesos, tras enviar el mensaje, convocan una elección Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión El algoritmo del matón
• En cualquier momento, un proceso puede recibir un mensaje ELECCION de uno de los procesos con identificador inferior. • La rutina que sirve el mensaje envía un mensaje de confirmación y toma el control iniciando una elección, a menos que ya esté celebrando una. • Llega un momento en que todos los procesos renuncian y uno de ellos se convierte en el nuevo coordinador, hecho que anuncia al resto mediante el envío de un mensaje. • Si un proceso que inicialmente estaba caído se recupera, inicia una elección. Si es el de identificador más alto, ganará la elección y asumirá el papel de coordinador. • Siempre gana el proceso de identificador más grande, de ahí el nombre del algoritmo. Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión
El algoritmo del matón
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión El algoritmo en anillo
• Chang y Roberts, 1979 • Anillo lógico: cada proceso sólo sabe comunicarse con su vecino • Se elige al proceso con identificador más alto • Se supone procesos estables durante la elección
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión El algoritmo en anillo
• Inicialmente todos los procesos son no-participantes • Cualquiera puede empezar una elección: Se marca como participante Envía mensaje de ELECCIÓN con su identificador • Cuando un proceso recibe un mensaje ELECCIÓN a) Si el identificador del mensaje es mayor que el suyo, reenvía el mensaje al vecino b) Si es menor: Si es no-participante , sustituye el identificador y envía mensaje al vecino. Si es participante , no envía nada c) Si es igual, se marca como no-participante y envía al vecino el mensaje ELEGIDO con su identificiador Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os
3.4 Algoritm os d e elec c ión El algoritmo en anillo
• Cuando un proceso recibe un mensaje de ELEGIDO Se marca como no-participante Envía el mensaje ELEGIDO con su identificador • Número de mensajes para elegir coordinador: Peor caso: Lanza la elección el siguiente al futuro coordinador: (3n-1) mensajes Mejor caso:
Lanza elección el futuro coordinador: 2n mensajes
Inge niería Inform á tic a Siste m a s Op era tivo s Distrib uid os Tem a 3: La sinc ronizac ión e n los sistem as distribuid os