11
Detección centralizada de deadlock Desventajas. Embotellamiento generado alrededor del nodo de control o coordinados. Punto único de falla. 12
Detección distribuida de deadlock La responsabilidad de detectar el deadlock es compartida equitativamente entre todos los nodos. Estudiaremos el algoritmo de: Chandy-Misra-Hass (1983). 13
Chandy-Misra-Hass Se utiliza cuando un proceso debe esperar por cierto recurso. Se utiliza un mensaje especial. Mensaje de exploración. El mensaje consta de: El proceso recién bloqueado. El proceso que envía el mensaje. El proceso a cual se envía. 14
Chandy-Misra-Hass 15
Algoritmo Chandy-Misra-Hass Todos los procesos poseen en su memoria local las siguientes estructuras para poder llevar a cabo el algoritmo propuesto: ultimo(i): en este arreglo se almacena el número de secuencia más grande en cualquier consulta enviada o recibida por Pk (el valor de m más grande). IDUltimo(i): almacena el Id del proceso que envió el mensaje más reciente, y cuyo valor m se almacenó en Ultimo(i). num(i): almacena la cantidad de mensajes consulta(i,m,k,j) que envió Pk y aún no han sido respondidos con su correspondiente mensaje respuesta(i,m,j,k). Si num(i) es 0, significa que Pk ha recibido respuesta de cada una de las consultas enviadas. espera(i): es verdadero si Pk está ocioso. Se hace falso cuando Pk pasa a estado En Ejecución. Cada proceso p almacena localmente su conjunto dependiente en el arreglo dependientes(p).
16
Algoritmo Chandy-Misra-Hass 17
Algoritmo Chandy-Misra-Hass 18
Algoritmo Chandy-Misra-Hass 19
Algoritmo Chandy-Misra-Hass Asignación. Realizar la corrida del algoritmo de Chandy-Misra-Hass, con el estado inicial de la figura. 20 (Gp:) P1 (Gp:) P4 (Gp:) P3 (Gp:) P2 (Gp:) Nodo 1 (Gp:) Nodo 2
Chandy-Misra-Hass Características. Cada nodo mantiene una porción del grafo global. Cada nodo participa en la detección de un ciclo global. Son más resistentes a fallas, y ningún nodo está sobrecargado con la detección de deadlock. 21
Chandy-Misra-Hass Desventajas. Debido a las estructuras de datos su diseño resulta muy complejo. 22
Detección jerárquica de deadlock Los nodos se organizan en forma jerárquica y cada nodo detecta deadlocks en los que estén involucrados sus descendientes. 23
Detección jerárquica de deadlock Características: Es el intermedio entre el centralizado y el distribuido. Explota los patrones de comunicación locales a un grupo de nodos para detectar el deadlock. No es dependiente de la falla de un nodo. Un nodo no está sobrecargado por la detección de deadlock en los cuales muy posiblemente no está involucrado. 24
Resolución del deadlock La persistencia de un abrazo mortal tiene dos efectos negativos sobre el rendimiento de un sistema: Los recursos en manos de procesos interbloqueados no están disponibles a otros procesos. El tiempo mientras persista el deadlock se suma al tiempo de respuesta de cada proceso interbloqueado.
25
Resolución del deadlock La espera por recursos agrega arcos y nodos al grafo de asignación de recursos. La resolución de deadlock remueve arcos y nodos del grafo de asignación de recursos.
26
Prevención distribuida de deadlock Algoritmo Espera-Muere. 27
Prevención distribuida de deadlock Algoritmo Herida-Espera. 28
Página anterior | Volver al principio del trabajo | Página siguiente |