Descargar

Sincronización, concurrencia y transacciones

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Sincronización en Sistemas Distribuidos Más compleja que en los centralizados

    Propiedades de algoritmos distribuidos: La información relevante se distribuye entre varias máquinas. Se toman decisiones sólo en base a la información local. Debe evitarse un punto único de fallo. No existe un reloj común. Problemas a considerar: Tiempo y estados globales. Exclusión mutua. Algoritmos de elección. Operaciones atómicas distribuidas: Transacciones

    edu.red

    Tiempo y Estados Relojes Distribuidos Relojes Lógicos Estados Globales

    edu.red

    Sincronización de Relojes Físicos Relojes hardware de un sistema distribuido no están sincronizados. Necesidad de una sincronización para: En aplicaciones de tiempo real. Ordenación natural de eventos distribuidos (fechas de ficheros). Concepto de sincronización: Mantener relojes sincronizados entre sí. Mantener relojes sincronizados con la realidad. UTC: Universal Coordinated Time Transmisión de señal desde centros terrestres o satélites. Una o más máquinas del sistema distribuido son receptoras de señal UTC.

    edu.red

    Algoritmo de Cristian Adecuado para sincronización con UTC. Tiempo de transmisión del mensaje: (T1-T0)/2 Tiempo en propagar el mensaje: (T1-T0-I)/2 Valor que devuelve el servidor se incrementa en (T1-T0-I)/2 Para mejorar la precisión se pueden hacer varias mediciones y descartar cualquiera en la que T1-T0 exceda de un límite

    edu.red

    Algoritmo de Berkeley 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. Si cae servidor: selección de uno nuevo (alg. de elección)

    edu.red

    Protocolo de Tiempo de Red NTP (Network Time Protocol). Aplicable a redes amplias (Internet). La latencia/retardo de los mensajes es significativa y variable. Objetivos: Permitir sincronizar clientes con UTC sobre Internet. Proporcionar un servicio fiable ante fallos de conexión. Permitir resincronizaciones frecuentes. Permitir protección ante interferencias del servicio de tiempo.

    Organización: Jerarquía de servidores en diferentes estratos. Los fallos se solventan por medio de ajustes en la jerarquía.

    edu.red

    Protocolo de Tiempo de Red La sincronización entre cada par de elementos de la jerarquía: Modo multicast: Para redes LAN. Se transmite por la red a todos los elementos de forma periódica. Baja precisión. Modo de llamada a procedimiento: Similar al algoritmo de Cristian. Se promedia el retardo de transmisión. Mejor precisión. Modo simétrico: Los dos elementos intercambian mensajes de sincronización que ajustan los relojes. Mayor precisión.

    Los mensajes intercambiados entre dos servidores son datagramas UDP.

    edu.red

    Causalidad Potencial En ausencia de un reloj global la relación causa-efecto (tal como precede a) es una posibilidad de ordenar eventos.

    Relación de causalidad potencial (Lamport) eij = evento j en el proceso i Si j < k entonces eij ? eik Si ei=send(m) y ej=receive(m), entonces ei ? ej La relación es transitiva.

    Dos eventos son concurrentes (a || b) si no se puede deducir entre ellos una relación de causalidad potencial.

    Partes: 1, 2
    Página siguiente