Sincronizaci - PowerPoint PPT Presentation

About This Presentation
Title:

Sincronizaci

Description:

Sincronizaci n de Relojes Es importante para sincronizar eventos en sistemas distribuidos (transacciones) Consistencia en datos replicados El reloj de un sistema se ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 10
Provided by: nbal
Category:

less

Transcript and Presenter's Notes

Title: Sincronizaci


1
Sincronización de Relojes
  • Es importante para sincronizar eventos en
    sistemas distribuidos (transacciones)
  • Consistencia en datos replicados
  • El reloj de un sistema se peude representar por
    Ci(t) aHi(t) b en que Hi(t) es una medida de
    tiempo dada por un hardware

2
El método de sincronización de Christian
  • Se basa en la observación que en un período corto
    de tiempo, los mensajes de ida en internet se
    demoran casi lo mismo que los de vuelta

mr
mt
cliente
Servidor de tiempo
3
El método de sincronización de Christian
  • Si se llama T(mr) al tiempo en que fue mandado el
    mensaje y T(mt) al del recibido, y que t es el
    tiempo que se recibió en mt, se puede estimar que
    el timestamp se debe poner en t (T(mt)-T(mr))/2
  • Esto se puede comparar con lo siguiente si se
    conoce el tiempo mínimo que puede tardar una
    viaje en redondo en la red T(rd)

min
min
T(mr)
t
T(mt)
4
Tiempos lógicos
  • Se trata de lograr sincronización interna, es
    decir relativa entre los procesos
  • Se basan en dos principios
  • Si dos eventos ocurrieron en un mismo proceso pi
    (i 1..N) entonces el proceso pi puede
    determinar con exactitud cual ocurrió antes y
    cual despues
  • Cuando un mensaje es enviado entre procesos
    entonces el evento de mandarlo ocurrió
    necesariamente antes que el de recibirlo

5
Algoritmo de Lamport
  • Un reloj lógico es un contador monotónicamente
    creciente, cuyo valor absoluto no es importante
  • Cada proceso pi tiene su propio reloj lógico Li
    que usa para ponerle el timestamp a los eventos
  • Llamemos el timestamp del evento e en pi Li(e) y
    llamamos L(e) si no nos importa qué proceso le
    dio el valor

6
Algoritmo de Lamport
  • Cada proceso pi incrementa en uno su reloj Li
    cada vez que ocurre un evento
  • Cuando un proceso manda un evento, le incluye el
    valor t Li en el mensaje (m,t)
  • Cuando un proceso pj recibe un mensaje ajusta su
    reloj con el valor Lj max(Lj, t) y luego suma 1
    para reflejar el evento de recibo de mensaje
  • Con esto se puede ordenar relativamente bien las
    cadenas de eventos

1
2
p1
4
3
p2
1
5
p3
7
Ordenamiento total lógico
  • Se puede dar que pares distintos de eventos
    tengan el mismo timestamp si fueron generados en
    procesos distintos. Esto se puede corregir
    incluyendo la identificación del proceso en el
    timestamp
  • Si e1 ocurrió en el proceso pi en el instante Ti
    (lógico) y e2 ocurrió en pj en el instante Tj
    entonces los timestamps serán (Ti,i) y (Tj,j)
    respectivamente
  • Se define (Ti,i) lt (Tj,j) si Ti lt Tj o i lt j
  • Esto no tiene ningún significado físico

8
Relojes Vector
  • Un reloj vector para un sistema de N procesos es
    un arreglo (o vector) de N enteros. Cada proceso
    pi guarda un vector propio Vi con valores Vij,
    j 1,2,3...N
  • Cada vez que el proceso pi produce un evento
    actualiza Vii
  • Cada vez que manda un mensaje envía un
    timestamp que consiste en todo el vector Vi
  • Cuando un proceso j recibe un mensaje de pi
    actualiza su vector Vjk max(Vik,Vjk) para
    k 1...N

9
Relojes Vector
  • Se puede definir un orden entre los vectores de
    la siguiente forma
  • V V ssi Vj Vj para j 1...N
  • V lt V ssi Vj lt Vj para j 1...N
  • V lt V ssi Vj lt Vj y hay al menos un k
    para el cual Vk lt Vk
  • Problema el tráfico es proporcional a N

(1,0,0)
(2,0,0)
p1
(2,2,0)
(2,1,0)
p2
(1,0,0)
(2,2,2)
p3
Write a Comment
User Comments (0)
About PowerShow.com