Deadlock en SD
Objetivos.
Comprender y describir el problema de abrazo mortal distribuido.
Diferenciar el abrazo mortal por recursos y por comunicación.
Comprender y comparar diferentes enfoques para manejar el problema de abrazo mortal.
1
Deadlock en SD
“Los bloqueos en los sistemas distribuidos son similares a los bloqueos en los sistemas con un procesador, sólo que peores” (Tanenbaum).
2
Deadlock en SD
Dos tipos de bloqueos distribuidos:
Por comunicación.
A envía B envía C envía A.
Por recursos.
Acceso exclusivo a dispositivos de E/S, archivos, etc.
Al final esta distinción es opcional.
Un buffer o canal de comunicación puede manejarse como un recurso.
3
Deadlock en SD
Estrategias para el manejo:
Algoritmo del avestruz.
Detección.
Prevención.
Evitarlos.
Nos centraremos en:
Detección y prevención.
¿Por qué?
4
Deadlock en SD
Definición.
Es una situación en la que se encuentran un conjunto de procesos donde cada proceso está esperando por un evento que sólo puede ser producido por otro proceso perteneciente a ese mismo conjunto.
5
Deadlock en SD
6
(Gp:) P1
(Gp:) P4
(Gp:) P3
(Gp:) P2
(Gp:) Nodo 1
(Gp:) Nodo 2
Detección centralizada de deadlock
Utilizar un algoritmo centralizado para la detección de bloqueos y tratar de imitar al algoritmo no distribuido.
Cada nodo construye su grafo de asignación de recursos.
Un nodo especial llamado coordinador, mantiene el grafo de asignación de recursos de todo el sistema.
7
Detección centralizada de deadlock
¿Cómo el grafo global del sistema?
Se envía un mensaje al coordinador por cada arista agregada o eliminada en cualquier grafo.
Cada proceso puede enviar de manera periódica una lista de aristas agregadas o eliminadas desde la última actualización.
El coordinador puede solicitar la información cuando la necesite.
8
Detección centralizada de deadlock
9
Detección centralizada de deadlock
Falso bloqueo.
Información incompleta o con retraso.
Soluciones.
Ideas.
¿Cómo funciona su idea?
Descríbala.
10
Página siguiente |