Prerequisite: Deadlock detection in Distributed systems
In hierarchical deadlock detection algorithm, sites are arranged in a hierarchical fashion and a site detects deadlocks involving only its descendant sites. Distributed deadlock algorithms delegate the responsibility of deadlock detection to individual sites while in hierarchical there are local detectors at each site which communicate their local wait for graphs(WFG) with one another.
Deadlocks that are local to a single site are detected at that site using their local WFG. Each site also sends its local WFG to deadlock detector at the next level. Thus, distributed deadlocks involving 2 or more sites would be detected by a deadlock detector in lowest level that has control over these sites.
In this approach, there are 2 methods to detect:
1. Ho-Ramamoorthy algorithm:
- Uses only two levels i.e. Master control nodes and Cluster control nodes.
- Cluster control nodes are used for detecting deadlock among their members and reporting dependencies outside their cluster to Master control node.
- The master control node is responsible for detecting inter-cluster deadlocks.
2. Menasce-Muntz algorithm:
- Leaf controllers are responsible for allocating resources whereas branch controllers find deadlock among the resources that their children span in the tree.
- Network congestion can be managed and node failure is less critical than in fully centralized.
- Detection can be done ways such as Continuous allocation reporting or periodically allocation reporting.
- If the hierarchy coincides with resource access pattern local to cluster of sites, this approach can provide efficient deadlock detection as compared to both centralized and distributed methods.
- It reduces the dependence on central sites thus, reducing the communication cost.
- If deadlocks are span over several clusters, this approach will be inefficient.
- It is more complicated to implement and would involve nontrivial modification to lock and transaction manager algorithms.
- Deadlock Detection in Distributed Systems
- Deadlock detection in Distributed systems
- Chandy-Misra-Haas's Distributed Deadlock Detection Algorithm
- Deadlock Detection Algorithm in Operating System
- Deadlock Detection And Recovery
- Recovery from Deadlock in Operating System
- Introduction of Deadlock in Operating System
- Mutual exclusion in distributed system
- Program for Deadlock free condition in Operating System
- Lamport's Algorithm for Mutual Exclusion in Distributed System
- Maekawa’s Algorithm for Mutual Exclusion in Distributed System
- Ricart–Agrawala Algorithm in Mutual Exclusion in Distributed System
- Suzuki–Kasami Algorithm for Mutual Exclusion in Distributed System
- Difference between Deadlock and Starvation in OS
- Deadlock Prevention And Avoidance
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.