1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

30
1 Rogelio Ferreira Escutia “Sincronización” Construcción de Sistemas Distribuidos

Transcript of 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Page 1: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

1

Rogelio Ferreira Escutia

“Sincronización”

Construcción de Sistemas Distribuidos

Page 2: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Objetivo:

Ordenar los eventos en forma cronológica para saber cuándo se efectuó un evento (fecha, hora, proceso a realizar y computadora que lo hizo).

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

2

Page 3: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

• 3

Diferencias de relojes internos en una red

8:06

8:05 8:13

8:12

SincronizaciónSincronización

Page 4: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Hay 2 tipos de sincronización del reloj:

• Externa: Cuando se toma el reloj de un dispositivo externo a la computadora.

• Interno: Se toman los relojes internos de las computadoras con cierto margen de atraso/adelanto de los mismos.

4

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 5: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Principales Problemas:

El más importante es la consistencia natural de los datos distribuidos en una red.

Existen también problemas de autentificación

Envío de peticiones a un servidor.

Manejo de la cola de peticiones

5

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 6: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

¿ A que velocidad corre un auto 1 que va a la velocidad de la luz, si es obervado por un auto 2 ?

300,000 Km/seg

Verdadero si el auto 2 está inmóvil. Falso si el auto 2 va a la misma velocidad.

Para el auto 2, el auto 1 esta inmóvil. Si el auto 2 va más rápido que el auto 1,

observará que el auto 1 se está atrasando.

6

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 7: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Einstein aseguró en su “Teoría de la Relatividad” las posibles consecuencias de asegurar que la velocidad de la luz es constante para todos los casos

Problema de usar relojes en una red: Cuando se envía información en forma

simultánea desde varias computadoras no podemos asegurar la cantidad de tiempo que tardará en llegar a su destino ya que el envío será por medio de una red, con la implicaciones de retraso que esto implica.

7

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 8: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Formas de sincronizar computadoras:

• Marcas de tiempo (sólo se pueden conseguir aproximaciones)

2) Paso de mensajes

La mejor es la sincronización por medio de eventos (en caso de que el proceso lo admita).

8

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 9: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Reloj interno:

Internamente cada computadora contiene un reloj físico, el cual es un dispositivo que cuenta las oscilaciones de un cristal con una frecuencia bien conocida. Estos conteos se dividen y almacenan en registros que dan por consiguiente una hora establecida.

Esta hora sirve para hacer marcas de tiempo tomando en cuenta la resolución del reloj (un periodo de reloj debe ser mas corto que el evento mas corto de duración).

9

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 10: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Problemas de los relojes:

El problema de exactitud del reloj reside en que cada pulso de un reloj puede llegar a ser diferente de todos los demás, para relojes construidos de igual manera y aún dentro del mismo reloj hay variaciones.

Las diferencias pueden ser mínimas pero en forma acumulada pueden ser considerables.

10

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 11: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Variaciones de relojes:

Para un reloj basado en un cristal de cuarzo existe un atraso /adelanto de 1 segundo cada 10⁶ (1,000,000 de segundos), es decir cada 11.6 días.

Para un reloj atómico es de 1013 segundos el cual se basa en pulsaciones de Cesio 133 (Cs).

11

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 12: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Relojes Astronómicos:

También se puede medir el tiempo por medio de la rotación de la tierra pero es inexacto.

12

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 13: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Tiempo Universal:

Existe un estándar conocido como Tiempo Universal (Universal Time Coordinated – UTC).

Se basa en relojes atómicos coordinados con la hora astronómica.

Esta hora se sincroniza desde bases terrestres y es enviada a satélites.

13

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 14: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Exactitud:UTC: De 0.1 a 10 milisegundos, esto se debe

principalmente a las condiciones atmosféricas de transmisión.

GOES: (Geostationary Operational Environmental

Satellites) Retraso de 0.1 milisegundo.GPS: (Global Positioning System) De 1 milisegundo.Una computadora puede sincronizarse de estos

sistemas satelitales.

14

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

SincronizaciónSincronización

Page 15: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Relojes de Computadoras:

Los relojes físicos de las computadoras logran una exactitud de 10 milisegundos el cual, para los procesos de un S.D. pueden ser 100,000 instrucciones ejecutadas en un procesador de 10 MIPS, lo que significa una muy baja exactitud

15

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 16: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Formas de Ajustar el Reloj:

Se puede atrasar / adelantar la hora del sistema en base al UTC, pero esto puede ocasionar problemas con los procesos que están corriendo.

Se puede hacer que el reloj pueda trabajar mas rápido o lento hasta alcanzar el reloj original, pero esta característica no es soportada por todos los tipos de hardware.

16

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 17: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Solución:

Existe una solución, haciendo un ajuste a la hora que se le da a una aplicación en base a la hora de la computadora (+ -) un tiempo de distorsión.

S (t) = tiempo del software H (t) = tiempo del hardware (t) = factor de compensación. S(t) = H + (t)

17

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 18: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

18

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 19: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Sincronización de relojesSincronización de relojes

19

SincronizaciónSincronización

• Distributed Operating Systems – Andrew Tanenbaum – Prentice Hall 1996

Page 20: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Sincronización de relojes: Algoritmo de Sincronización de relojes: Algoritmo de CristianCristian

• Distributed Operating Systems – Andrew Tanenbaum – Prentice Hall 199620

SincronizaciónSincronización

Page 21: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Sincronización de relojes: Algoritmo de Cristian:

P = proceso

S = servidor

mr = message Request = mensaje de petición

mt = message Time = mensaje de tiempo

 

 

P envía una petición a S, regresando mt con una marca de tiempo t.

• Distributed Operating Systems – Andrew Tanenbaum – Prentice Hall 199621

SincronizaciónSincronización

Page 22: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

mr

mtp Time server,S

Retraso de envíoRetraso de envío

22

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 23: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

DESVENTAJAS

  La sincronización es a partir de un servidor, por lo que se falla, falla la sincronización del sistema.

  Para solucionar el problema Cristian sugiere que existan varios servidores con señales de sincronización los cuales obtienen su señal de UTC’s.

 

Un cliente para sincronizarse emite una señal multicast hacia los servidores y la primera que recibe es la que tomo para sincronizarse.

• Distributed Operating Systems – Andrew Tanenbaum – Prentice Hall 199623

SincronizaciónSincronización

Page 24: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Algoritmo BerkeleyAlgoritmo Berkeley

24

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 25: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

NTP (Network Time Protocol)

  Fue propuesto por Mills en 1991 y ha sido adoptado como es estándar de Internet.

  El objetivo es sincronizar cliente a un UTC con gran exactitud a través de Internet. El NTP utiliza técnicas estadísticas para determinar la exactitud con que un paquete viaja por Internet, aplicando filtros a los paquetes que llevan un tiempo de transporte grande.

  NTP utiliza técnicas de autentificación para comprobar que los tiempos de certificación provienen de servidores confiables.

25

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 26: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

1

2

3

2

3 3

Note: Arrows denote synchronization control, numbers denote strata.

26

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 27: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Algoritmo de Lamport:

En 1978 Lamport explicó que debido a que no se pueden sincronizar adecuadamente los relojes a través de un sistema distribuido, no se puede utilizar el tiempo físico para encontrar el orden de 2 eventos cualesquiera que sean.

27

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 28: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Lamport propone utilizar un esquema parecido al de la causalidad física.

a) Cuando 2 eventos ocurren en un mismo proceso estarán en el orden en que se observan.

b) Cuando se envía un mensaje entre procesos, el evento de envía, el mensaje ocurrirá antes del evento de recibir el mensaje.

Lamport llamó a esto, relación happened-before formalmente

28

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 29: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

Algoritmo de Lamport:

a b

c d

e f

m1

m2

21

3 4

51

p1

p2

p3

Physical time

29

SincronizaciónSincronización

• 17) Distributed Systems, Concepts and Design / George Couloris, Jean Dollimore y Tim Kindberg / Second Edition / Addison-Wesley / Great Britain 1994 / ISBN: 0-201-62433-8

Page 30: 1 Rogelio Ferreira Escutia Sincronización Construcción de Sistemas Distribuidos.

SincronizaciónSincronización

Fin