UNAN-LEON FACULTAD DE CIENCIAS Y TEGNOLOGIAS. SISTEMAS DISTRIBUIDOS.
INTEGRANTES: William Jose Corrales
Gutierrez# 20-03438-0 John Hazel Rodriguez Reyes # 17-02797-0
DOCENTE: ERVIN ISMAEL MONTES TELLEZ.
CARRERA: ING. EN TELEMATICA. FECHA DE ENTREGA: 21/06/23 Característica Algortimo de Lamport Relojes vectoriales
Concepto El algoritmo de Lamport se basa en la Los relojes vectoriales se
idea de "orden parcial". No tiene en basan en el concepto de cuenta la dependencia causal entre "orden total" y tienen en eventos, sino que se enfoca en el cuenta la dependencia causal orden relativo de los eventos. Cada entre eventos. Cada nodo en evento se registra con una estampa de el sistema tiene un vector de tiempo (un único número) que enteros para representar el representa el orden de ocurrencia de tiempo. Cada entrada del los eventos. vector corresponde a un nodo y mantiene el tiempo registrado en ese nodo. El vector de tiempo refleja las relaciones causales entre los eventos ocurridos en diferentes nodos.
Representación Utiliza estampas de tiempo (números Utiliza un vector de enteros
del tiempo enteros) para representar el tiempo. para representar el tiempo. Cada evento se etiqueta con una Cada entrada del vector estampa de tiempo. corresponde a un nodo en el sistema y mantiene el tiempo registrado en ese nodo.
Incremento del El tiempo se incrementa en pasos El tiempo se incrementa
tiempo discretos cada vez que ocurre un localmente en cada nodo evento. cuando ocurre un evento en ese nodo. Además, los nodos se comunican entre sí para actualizar y sincronizar sus vectores de tiempo. Ordenación de El orden de los eventos se determina El orden de los eventos se eventos utilizando el orden de las estampas de determina utilizando el orden tiempo. Si una estampa de tiempo A es de los vectores de tiempo. Si menor que una estampa de tiempo B, el vector de tiempo A es entonces el evento asociado con A menor o igual que el vector ocurrió antes que el evento asociado de tiempo B en todas sus con B. entradas, entonces el evento asociado con A ocurrió antes o al mismo tiempo que el evento asociado con B.
Sincronización No requiere una sincronización precisa Requiere una sincronización
de los relojes en los nodos del sistema. precisa de los relojes en los nodos del sistema para garantizar que los vectores de tiempo reflejen correctamente el orden causal de los eventos.
Resolución de Cuando se produce un conflicto entre Cuando se produce un
conflictos dos eventos con estampas de tiempo conflicto entre dos eventos similares, se utiliza el orden de las con vectores de tiempo estampas de tiempo para resolverlo. similares, se utiliza el orden de los vectores de tiempo para resolverlo. Si dos eventos tienen vectores de tiempo incomparables (es decir, no se puede determinar su orden causal), se considera que los eventos son concurrentes.
Dependencia No garantiza una dependencia causal Garantiza una dependencia
causal precisa precisa entre eventos. causal precisa entre eventos. Si el vector de tiempo A es menor que el vector de tiempo B en una entrada y el vector de tiempo B es menor que el vector de tiempo C en otra entrada, entonces se puede concluir que el evento asociado con A ocurrió antes que el evento asociado con B y el evento asociado con B ocurrió antes que el evento asociado con C. Esto permite rastrear el orden causal de los eventos de manera más precisa.
Aplicación Es útil en sistemas distribuidos simples Es más adecuado para
y pequeños donde no se requiere una sistemas distribuidos dependencia causal precisa entre complejos y grandes donde eventos. se necesita una dependencia causal precisa entre eventos. Se utiliza en aplicaciones como la sincronización de bases de datos distribuidas, la detección de conflictos en sistemas distribuidos y la coordinación de procesos distribuidos.
Escalabilidad Adecuado para sistemas distribuidos Más adecuado para sistemas
simples y pequeños. distribuidos complejos y grandes debido a su capacidad para mantener una dependencia causal precisa y gestionar la sincronización en entornos más complejos.
Algoritmo de Lamport Relojes vectoriales
Ventajas - Fácil implementación - Permite mantener una dependencia causal y comprensión. precisa entre eventos.
- No requiere una - Permite la detección y resolución de
sincronización precisa conflictos más precisa, ya que tiene en de los relojes, lo que lo cuenta la dependencia causal. hace más fácil de implementar en entornos distribuidos.
- Adecuado para - Es más adecuado para sistemas
sistemas distribuidos distribuidos complejos y grandes donde se simples y pequeños necesita una dependencia causal precisa donde no se requiere entre eventos. una dependencia causal precisa entre eventos.
Desventajas - No garantiza una - Requiere una sincronización precisa de los
dependencia causal relojes en todos los nodos del sistema para precisa entre eventos, mantener la consistencia. lo que puede llevar a conflictos en la resolución de eventos concurrentes.
- Puede haber - La implementación puede ser más compleja
problemas de y requerir un mayor esfuerzo debido al uso asignación y gestión de de vectores de tiempo y la necesidad de estampas de tiempo en sincronización precisa. sistemas grandes y altamente concurrentes. - No es eficiente para - Puede haber un mayor costo computacional sistemas con un alto debido al uso de vectores de tiempo y la grado de concurrencia, necesidad de comunicación y sincronización ya que puede haber entre los nodos. una alta probabilidad de conflictos en la asignación de estampas de tiempo.
- No es adecuado para - La sincronización de los relojes puede ser
sistemas distribuidos un desafío en entornos distribuidos y de gran complejos donde se escala, y puede haber una mayor necesita una complejidad en su implementación. dependencia causal precisa y resolución precisa de conflictos. EJEMPLO GRAFICO: EJEMPLO GRAFICO: