El algoritmo de exclusión mutua distribuida de Lamport es un algoritmo basado en contención para la exclusión mutua en un sistema distribuido .
Algoritmo
Propiedades nodales
- Cada proceso mantiene una cola de solicitudes pendientes para ingresar a la sección crítica en orden. Las colas están ordenadas por marcas de tiempo virtuales derivadas de las marcas de tiempo de Lamport . [ 1 ]
Algoritmo
Proceso de solicitud
- Enrutando su solicitud en su propia cola (ordenada por marcas de tiempo).
- Enviando una solicitud a cada nodo.
- Esperando respuestas de todos los demás nodos.
- Si su propia solicitud está al principio de la cola y se han recibido todas las respuestas, entre en la sección crítica.
- Al salir de la sección crítica, elimine su solicitud de la cola y envíe un mensaje de liberación a cada proceso.
Otros procesos
- Tras recibir una solicitud, esta se coloca en su propia cola de solicitudes (ordenadas por marcas de tiempo) y se responde con una marca de tiempo.
- Tras recibir el mensaje de liberación, elimine la solicitud correspondiente de su propia cola de solicitudes.
Complejidad del mensaje
Este algoritmo crea 3( N − 1) mensajes por solicitud, o ( N − 1) mensajes y 2 difusiones. 3( N − 1) mensajes por solicitud incluyen:
- ( N − 1) número total de solicitudes
- ( N − 1) número total de respuestas
- ( N − 1) número total de lanzamientos
Desventajas
Este algoritmo tiene varias desventajas. Son las siguientes:
- Es muy poco fiable, ya que el fallo de cualquiera de los procesos detendrá el progreso.
- Tiene una alta complejidad de mensajes de 3( N − 1) mensajes por entrada/salida a la sección crítica.
Véase también
- Algoritmo de Ricart-Agrawala (una mejora respecto al algoritmo de Lamport)
- Algoritmo de la panadería de Lamport
- El algoritmo de Raymond
- El algoritmo de Maekawa
- Algoritmo de Suzuki-Kasami
- Algoritmo de Naimi-Trehel
Referencias
- ↑ Kshemkalyani, A., y Singhal, M. Capítulo 9: Algoritmos de exclusión mutua distribuidos. Computación distribuida: principios, algoritmos y sistemas (página 10 de 93). Cambridge University Press.
Categorías :
- esbozos de informática
- Algoritmos de control de concurrencia
- computación distribuida