1 / 15

Sistemas Distribuidos.

Sistemas Distribuidos. Christian Aguilar Fuster CINVESTAV – Tamaulipas Enero 2014. Tiempo Físico.

leo-hurst
Download Presentation

Sistemas Distribuidos.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Distribuidos. Christian Aguilar Fuster CINVESTAV – Tamaulipas Enero 2014

  2. Tiempo Físico. • El tiempo real se define en términos de la rotación de la Tierra en el sistema solar. Un segundo solar es igual a 1/86, que forma parte 400a de un día solar, que es la cantidad de tiempo que la tierra necesita para completar una revolución alrededor de su propio eje. • Tiempo Atómico Internacional (TAI) es una escala de tiempo exacto que refleje el promedio ponderado de las lecturas de cerca de 300 relojes atómicos en más de cincuenta laboratorios nacionales de todo el mundo. • Otra fuente de hora precisa es el GPS (Global Positioning System). Un sistema de 24 satélites desplegado en órbita de la Tierra mantiene coordenadas espaciales precisas, y proporciona tiempo preciso referencia en casi todas partes del mundo donde las señales GPS pueden recibirse. Cada emisión por satélite tiene el valor de un reloj atómico a bordo. 

  3. Modelos síncronos y asíncronos. • Sistemas distribuidos asíncronos • No hay un reloj común • No hacen ninguna suposición sobre las velocidades relativas de los procesos. • Los canales son fiables pero no existe un límite a la entrega de mensajes • La comunicación entre procesos es la única forma de sincronización • Sistemas distribuidos síncronos • Hay una perfecta sincronización • Hay límites en las latencias de comunicación • Los sistemas del mundo real no son síncronos

  4. Relojes Lógicos. Un evento corresponde a la ocurrencia de una acción. Un conjunto de eventos {a,b, c, d, ...} en un solo proceso se denomina secuencial y sus ocurrencias puede ser totalmente ordenado en el tiempo con el reloj en ese proceso. Por ejemplo, si Bob regresa a su casa a las 5:40 de la tarde, contesta el teléfono a las 5:50 pm, y come la cena a las 6:00 pm. Ley de la causualidad. Ningún mensaje puede ser recibido antes de ser enviado. Ejemplo: durante un chat, Bob envía un mensaje M a Carol y Alice y Alice enviar una respuesta Re: M de nuevo a Bob y Carol. ClaramenteM sucedió antes Re: M. Para hacer cualquier sentido de la charla, Carol siempre debe recibir M

  5. Relojes Lógicos. Regla 1. Deje que cada proceso tiene un reloj físico cuyo valor es monótonamente creciente. Si a, b son dos eventos dentro de un solo proceso P, y el tiempo de ocurrencia de a es anterior a el momento de la aparición de b, entonces a ≺ b. Regla 2. Si a es el caso de que el envío de un mensaje por el proceso P, y b es el caso de recibir el mismo mensaje por otro proceso Q, entonces a ≺ b. Regla 3. (a ≺ b) ∧ (b ≺ c) ⇒ a ≺ c Cada proceso tiene un LC contador que representa el reloj lógico. Inicialmente, para cada proceso, LC = 0. Cada vez que ocurre un evento, LC se incrementa.  LC1. Cada vez que un evento local o interno se lleva a cabo, LC incrementar el valor en 1. LC2. Al enviar un mensaje, añada el valor de LC al mensaje. LC3. Cuando se recibe un mensaje, establezca el valor de LC a 1 + max (LC local, LC mensaje).

  6. Relojes Lógicos. Si a y b son dos eventos en los procesos de i y j (no necesariamente distintos), respectivamente, y luego defino orden total («) de la siguiente manera: a «b si y sólo si LC (a) <LC (b) oLC (a) = LC (b) y i <j donde i <j se determina ya sea por los valores relativos de los identificadores de proceso numéricos, o por el orden lexicográfico de sus nombres. Por lo tanto, cada vez que los valores de reloj lógicas de dos eventos distintos son iguales, los números de proceso o nombres se utilizarán para romper el empate. El valor (id, LC) asociada a un evento se conoce como su marca de tiempo.

  7. Relojes Vectoriales. Una de las principales debilidades de los relojes lógicos es que, los valores de LC de dos eventos no pueden revelar si están causalmente ordenado. Ellos definen un mapeo VC de eventos a matrices enteras y una orden <tal que para cualquier par de eventos a, b: a≺b ⇔ VC (a) <VC (b) Todo proceso lleva asociado un vector de enteros. Vc[a] es el valor del reloj vectorial del proceso i cuando ejecuta el evento a. Sean a,b sea un par de eventos. Denotar el k-ésimo elemento del vector de reloj para el caso de que apara VC (a) [k]. Definir VC (a) <VC (b) (leer VC (a) está dominado por VC (b)), si y sólo si cumplen dos condiciones: • ∀ i: 0 ≤ i ≤ N - 1: VC (a) [i] ≤ VC (b) [i] • ∃ i: 0 ≤ i ≤ N - 1: VC (a) [i] <VC (b) [i]

  8. Relojes Vectoriales. Para implementar un sistema de relojes vectoriales, inicializar el vector de reloj de cada proceso en 0, 0, 0, ..., 0 (N componentes), usar las tres reglas siguientes: Regla 1. Cada evento local al proceso de i se incrementa el componente i de su vector de reloj (es decir, VC [i]) en 1. Regla 2. El remitente añade el vector de sello de tiempo a cada mensaje que envíe. Regla 3. Cuando el proceso j recibe un mensaje con un vector de marca de tiempo T de otro proceso, primero incrementa el componente j-ésimo VC [j] de su propio reloj de vectores, (es decir, VC [j]: = VC [j] + 1) y, a continuación actualizaciones su vector de reloj de la siguiente manera: ∀ k: 0 ≤ k ≤ N - 1 :: VC [k]: = max (T [k], VC [k])

  9. Errores de lectura de reloj. • El retardo de propagación. Si el reloj i envía su lectura al reloj j, entonces la exactitud del valor recibido debe depender no sólo en el valor que se envió, sino también en el retardo de propagación de mensaje. Un único parámetro δ(llamado el error de lectura) representa la inexactitud. • Sobrecarga de procesamiento. Cada cálculo relacionada con la sincronización del reloj en sí tiene una cantidad finita de tiempo que necesita ser contabilizado por separado.

  10. Sincronizacion de relojes Fisicos. • Sincronización externa. • El objetivo de la sincronización externa es la de mantener la lectura de un reloj tan cerca de la UTC como sea posible. El uso de un servidor central que recibe las señales de onda corta WWV desde Fort Collins, Colorado, y periódicamente de radiodifusión el tiempo para otros cronometradores es bien conocida. • Sincronización interna. • El objetivo de la sincronización interna es mantener las lecturas de un sistema de relojes autónomas estrechamente sincronizados uno con el otro, a pesar de la insuficiencia o fallo de funcionamiento de uno o más relojes. Estas lecturas de reloj puede que no tienen ninguna conexión con el UTC o tiempo GPS - la coherencia mutua es el principal objetivo.

  11. Sincronizacion de relojes Fisicos. • Sincronización externa. • El objetivo de la sincronización externa es la de mantener la lectura de un reloj tan cerca de la UTC como sea posible. El uso de un servidor central que recibe las señales de onda corta WWV desde Fort Collins, Colorado, y periódicamente de radiodifusión el tiempo para otros cronometradores es bien conocida. • Sincronización interna. • El objetivo de la sincronización interna es mantener las lecturas de un sistema de relojes autónomas estrechamente sincronizados uno con el otro, a pesar de la insuficiencia o fallo de funcionamiento de uno o más relojes. Estas lecturas de reloj puede que no tienen ninguna conexión con el UTC o tiempo GPS - la coherencia mutua es el principal objetivo.

  12. Sincronizacion externa.Algoritmo de Cristian 1.- Un proceso p hace una petición de tiempo al servidor en un mensaje mr. 2.- El servidor responde con un mensaje mt en el que incluye su tiempo TUTC. 3.- El proceso que recibe el mensaje mt actualiza su reloj con el tiempo TUTC, por lo que el cliente sincroniza su reloj a TUTC + TVIAJE/2.

  13. Sincronizacion externa.Protocolo de tiempo de red Mecanismo diseñado para sincronizar los relojes en Internet con el UTC a pesar de la pérdida ocasional de la conectividad, y el fracaso de algunos de los tiempos de los servidores y las entradas de tiempo posiblemente malintencionados de fuentes no confiables. En cierto sentido, NTP es un refinamiento del método de Cristian. NTP proporciona servicio de tiempo utilizando tres mecanismos • La multidifusión. • Llamada a procedimiento. • Peer-to-peer comunication.

  14. Sincronizacion interna.Algoritmo de Berkeley • Sincronización interna entre procesadores • El servidor de tiempo realiza un muestreo periódico de todas las máquinas para pedirles el tiempo. • Calcula el tiempo promedio y le indica a todas las máquinas que avancen su reloj a la nueva hora o que disminuyan la velocidad

  15. Algoritmo de Lamport and Melliar-Smith’s. • Este algoritmo es una adaptación del algoritmo de Berkeley. Donde (i, k) denota el reloj de lectura i con valor del reloj de k. Cada reloj i ejecuta repetidamente los tres pasos siguientes: • Paso 1. Lea el valor de todos los relojes en el sistema. • Paso 2. Desechar valores de reloj malos y sustituirlos por el valor del reloj local. Así, si | c (i, i) - c (i, j) |> δ entonces c (i, j): = c (i, i). • Paso 3. Actualización de la lectura del reloj usando la media de estos valores.

More Related