Académique Documents
Professionnel Documents
Culture Documents
Sistemas Distribuidos
Tiempos y Estados Globales
Rodrigo Santamara
+ Tiempos y estados globales
Introduccin
Sincronizacin
Tiempo y relojes lgicos
Estados globales
Depuracin distribuida
2
+ 3
Introduccin
Introduccin
Reloj hardware
Introduccin
Reloj software
n Necesita:
n Una fecha y hora de origen
n P. ej. en UNIX: 00:00 del 1 de enero de 1970
n Nmero de ticks desde esa fecha
n Al arrancar pide la fecha y hora actual
n Calcula el n de ticks desde la fecha de origen
n Con cada tick, incrementa el n de ticks y recalcula la fecha
actual a partir de la fecha de origen
Introduccin
Sesgo y deriva de reloj
tasa de
n Sesgo (skew) deriva de C1
n Deriva (drift)
n Tasa con la que el reloj se desva
respecto a la hora real
n Reloj normal: 10-6 s/s ~ 1s cada 12 sesgo entre C1 y C2
das en el instante t
n Reloj de precisin: 10-7 o 10-8 s/s ~
1s cada 4 meses o 3 aos
t
+ 7
Introduccin
Reloj atmico y TAI
Introduccin
Reloj astronmico y UT1
n Reloj astronmico:
n Medicin a partir de la posicin relativa del Sol y la Tierra
n Es decir, posicin del Sol respecto a un punto en la Tierra
n Del S XV al XIX, slo haba tiempos locales
n A finales del XIX, se establecen zonas horarias, y un tiempo
universal estndar: GMT (Greenwich Meridian Time)
Introduccin
UT1
Introduccin
Sincronizacin de relojes fsicos
Introduccin
Correccin de relojes
Introduccin
Fallos de reloj
n Fallo arbitrario
n Cualquier otro fallo relacionado con el reloj
n Ejemplo: efecto 2000
n Transicin de 31 de diciembre de 1999 al 1 de enero de 1990
13
+ 14
Sincronizacin
Sincronizacin interna en un sistema sncrono
Sincronizacin
Sincronizacin interna en un sistema sncrono
Sincronizacin
Mtodo de Cristian (1989)
n Algoritmo centralizado
n Servidor de tiempo
n Clientes que se sincronizan con el servidor
n El servidor responde
n Mensaje tiempo=CUTC
n Se considera que el servidor responde rpidamente
n El algoritmo slo sincroniza si el tiempo de respuesta es
razonablemente ms corto que la precisin requerida
+ 17
Sincronizacin
Mtodo de Cristian
Tviaje = T1 - T0
Sincronizacin
Mtodo de Cristian
Sincronizacin
Mtodo de Cristian
Lmites Desviacin
lmite
CUTC+Tviaje-min -Tviaje/2+min
Desviacin de la
Estimacin estimacin
CUTC+Tviaje/2 Tviaje/2-min
CUTC+min Tviaje/2-min
n Problemas
n Centralizado: qu pasa si el servidor falla?
n Solucin: mltiples servidores
n Servidores con fallos, deliberados o indeseados
n Problema de los generales bizantinos
+ 20
Sincronizacin
Algoritmo de Berkeley (1989)
n Algoritmo centralizado
n Pero esta vez, el servidor (maestro) se elige entre todos los
computadores conectados (esclavos)
n No provee su tiempo, si no que lo estima a partir de todos los
computadores conectados
n Estima la deriva de cada reloj y manda la correccin
(25-10+0)/3 = 5
+ 21
Sincronizacin
Algoritmo de Berkeley: desventajas
n Problemas
n Centralizado: fallo del nodo maestro
n Se elige un nuevo maestro
n Centralizado: broadcasting
n Difcil de escalar
Sincronizacin
Network Time Protocol (NTP) [Mills 1995]
n Objetivos de NTP
n Proporcionar un servicio que permita a los clientes a lo largo de
Internet sincronizarse con UTC
n Proporcionar un servicio fiable que pueda aguantar prdidas de
conectividad prolongadas
n Permitir a los clientes sincronizarse de manera lo suficientemente
frecuente como para compensar las tasas de deriva usuales
n Proporcionar proteccin de las interferencias con el servicio de
tiempos, sea maliciosa o accidental
+ 23
Sincronizacin
NTP: jerarqua
Sincronizacin
NTP: modos de sincronizacin
n Multidifusin
n Reparto peridico del tiempo por los servidores
n Baja precisin
n Simtrico
n Sincronizacin entre servidores en los estratos ms altos (1,2,3)
n Mxima precisin
Sincronizacin
NTP: simtrico t t+t=d t
tB=tA+o t1 t2
tA=tB-o t0 t3
n Sumando las ecuaciones obtenemos una estimacin del retardo (delay) di:
n di=t+t=(t 1-t 0)+(t 3-t 2)
Sincronizacin
NTP: modo simtrico
t+t=di=t1-t0+t3-t2=1.0 oi
t1=t0+t+o t=t1-t0-o
di = t+t=(t1-t0)+(t3-t2)
oi = (t1-t0 + t2-t3)/2
oi - di/2 o oi + di/2
Sincronizacin
NTP: ampliaciones
28
+ 29
n Lamport (1978)
n Como no podemos sincronizar perfectamente los relojes en un sistema
distribuido, no podemos usar, en general, el tiempo fsico para obtener
el orden de cualquier par arbitrario de sucesos que ocurran en l
n Intuitivamente
n Si dos sucesos han ocurrido en el mismo proceso, entonces
ocurrieron en el orden en que los observa dicho proceso
n El suceso de envo de un mensaje ocurre antes que el suceso de
recepcin de dicho mensaje
n Objetivo:
n Asociar una marca de tiempo (timestamp) a todos los sucesos que
se pueden ordenar mediante relaciones sucede antes que
n LC1
n Antes de cada evento relevante del proceso Pi:
n Ci = Ci + 1
n LC2
n Cuando Pi manda un mensaje m, le adjunta su timestamp t=Ci
n Cuando Pj recibe un mensaje (m,t):
n Cj = max(t, Cj) + 1
n Ordenacin total:
n Sean dos eventos que suceden en tiempos lgicos de Lamport
Ti y Tj en los procesos Pi y Pj, respectivamente
n (Ti, i)<(Tj,j) si Ti<Tj o Ti=Tj y i<j
n Bsicamente, es un modo de desempatar tiempos lgicos
iguales mediante el identificador de proceso
n VC1
n Inicialmente Vi[j]=0 para j=1, 2, , N
n VC2
n Antes de que ocurra un evento en Pi: Vi[i]=Vi[i]+1
n VC3
n Pi incluye el timestamp t=Vi en cada mensaje que enva
n VC4
n Cuando Pi tiene un evento de recepcin con timestamp t
n Vi [j]=max(Vi [j], t[j]) para j=1, 2, , N
n Teniendo en cuenta que Vi [i] se actualiza antes por VC2
+ 38
39
+ 40
Estados globales
Estados globales
Cortes consistentes
Estados globales
Evaluacin de cortes con relojes lgicos vectoriales
reloj vectorial V1
Corte consistente:
Corte inconsistente: Vi[i] Vj[i] para i, j = 1, 2, , n
V2[1]=2 > V1[1]=1
+ 43
Estados globales
Algoritmo de instantnea de Chandy y Lamport
n Objetivo:
n Obtener un conjunto de estados de proceso y del canal de
comunicacin (instantnea) que sea un estado global consistente
n Asunciones:
n Los canales y procesos no fallan: todos los mensajes se reciben
correctamente, y una nica vez
n Los canales son unidireccionales con entrega tipo FIFO
n Hay canal de comunicacin directo entre todos los procesos
n Cualquier proceso puede tomar una instantnea en cualquier
momento
n Los procesos pueden continuar su ejecucin y comunicacin
mientras se est tomando una instantnea
+ 44
Estados globales
Algoritmo de instantnea de Chandy y Lamport
Estados globales
Algoritmo de instantnea de Chandy y Lamport
n Ejemplo: 2 procesos (Pi, Pj) hacen transacciones (mark=instantnea)
n 2 canales de comunicacin (cij, cji)
cij
cji
46
+ 47
Depuracin distribuida
Predicados
Depuracin distribuida
Predicados: ejemplo
|105-90| = 15 falso
|1-100| = 99 verdadero
+ 49
Depuracin distribuida
Monitorizacin
Depuracin distribuida
Evaluacin de predicados
n Objetivo de la monitorizacin
n Determinar si un predicado es posiblemente o sin duda
alguna verdadero en un determinado punto de la ejecucin
n El proceso monitor slo registra los estados globales consistentes
n Los nicos en que podemos evaluar el predicado con certeza
Depuracin distribuida
Red de estados globales
S00 S10 ?
S01
+ 52
Depuracin distribuida
Red de estados globales: ejemplo
S40 ?
Depuracin distribuida
Red de estados globales
Depuracin distribuida
Evaluacin instantnea de predicados
(1,0) F
(100,0) V
(105,0) (100,100) V F
(105,100) (100,95) F F
(105,95) (100,90) F F
(105,90) F
(90,90) F
+ 55
Depuracin distribuida
Evaluacin de predicados posiblemente
Depuracin distribuida
Evaluacin de predicados sin duda alguna
Depuracin distribuida
Evaluacin de predicados: ejemplo
Depuracin distribuida
Resumen
n Consiste en
n Determinar el predicado que queremos evaluar
n Especificar un mtodo para construir una red o historia de
estados globales consistentes
n Teniendo en cuenta el predicado para optimizar trfico
Resumen
Referencias
http://xkcd.com/612/