Please enable JavaScript.
Coggle requires JavaScript to display documents.
Tema 2: Sincronización, Zamora Pantoja Javier Alejandro Sistemas…
Tema 2: Sincronización
Coordinación y acuerdo
Suposición y detección de fallas
No hay garantía de que los procesos se comuniquen entre sí al mismo tiempo
Un proceso falla si su ejecución se detiene
Detector es confiable si su precisión es alta
Detector de fallos va dentro de un proceso local
No son fiables
Sospechoso y no sospechoso
División de red
Procesos que se ejecutan en diferentes redes intercambian comunicación entre sí
Conectividad asimétrica
Comunicación intransitiva
Relojes lógicos
Son usados para la sincronización en aplicaciones de sistemas distribuidos
Marcas de tiempo de Lamport
Relación happened-before
HB1, HB2, HB3
Eventos concurrentes
Mecanismo llamado reloj lógico
Contador de software
Marcas de tiempo de vectores
Arreglo de enteros para sistema de N procesos
Más preciso que Reloj de Lamport
Misma mecánica que marca de Lamport
Definen de mejor forma los procesos happened-before
Nos basamos en el punto de vista de los procesos y los mensajes
Ordenamiento en los procesos sin un reloj físico
Exclusión mutua distribuida
Procesos requieren coordinar sus actividades
Requisitos
Seguridad
Pervivencia
Deadlock e inanición
Ordenamiento
Algoritmos
Algoritmo de servidor central
Forma más simple de alcanzar la exclusión mutua es utilizar un servidor que otorge el servicio de entrada a la CS
Su problema es que se puede convertir en un cuello de botella en el sistema
Algoritmo basado en anillo
Otra forma de implementar exclusión mutua
Cumple con las condiciones ME1 y ME2
Elimina uso de proceso adicional de ordenamiento
Casa proceso p tenga comunicación con su vecino próximo
Algoritmo de Ricart y Agrawala
Basado en multicast
Procesos que necesitan entrar a CS envían petición multicast a los demás procesos
Todos los procesos se encargan de ver si un proceso va a entrar a la sesión crítica o no
Cumple los requisitos y propiedades de ME1, ME2 y ME3
Algoritmo de votación de Maekawa
Puede dar permiso a un proceso sin tener que acceder a todos los demás
Los procesos votan unos por otros para entrar a la sección crítica
Cuando un proceso recibe un mensaje de liberación crítica, remueve el mensaje de la cola de peticiones
Permite descomponer el conjunto de procesos en varios conjuntos
No es posible que dos procesos entren a la sección crítica
Cada proceso está tanto en los conjuntos de votación, como elementos en cada uno de los conjuntos
Cumple con los requisitos de exclusión mutua
Tolerancia a fallos
¿Qué pasa cuando fallan los mensajes o un proceso?
Anillo: No tolera un fallo de cualquier proceso individual
Servidor central: No tolera el fallo de un proceso que no retiene ni ha solicitado el token
Ricard y Agrawala: puede adaptarse para la tolerancia a fallos de detención
Grupos de comunicación
Brindan soporte para comunicaciones grupales
Broadcast de mensajes es el envío de mensajes a todos los miembros
El orden relativo de los miembros del grupo no esta definido
Comunicación grupal: Abstracción sobre la comunicación multicast
Si el alg. multicast requiere al remitente en el grupo el alg. es de grupo cerrado
Si el remitente esta fuera del grupo, es de grupo abierto
Grupos superpuestos y no superpuestos
Sistemas distribuidos confiables
Diseminación confiable de información
Soporte para aplicaciones colaborativas
Soporte de estrategias de tolerancia a falla
Zamora Pantoja Javier Alejandro
Sistemas Distribuidos
Grupo: 03