A survey of distributed deadlock detection algorithms


Published on

Published in: Engineering, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A survey of distributed deadlock detection algorithms

  1. 1. A Survey of Distributed Deadlock Detection Algorithms Ahmed K. Elmagarmid Computer Engineering Program Department of Electrical Engineering Pennsylvania State University
  2. 2. Detection Algorithm • An algorithm which determines whether a deadlock has occurred in the system. • There are deadlock algorithms which can be used in various scenarios. • Correctness or effectiveness of an algorithm is mainly based on 2 things Detection of the deadlock in finite time If a deadlock is detected, it should exist.
  3. 3. Different Algorithms • Menasce's Scheme • Chandy's Scheme • 0bermack's Algorithm • Mitchell’s Algorithm
  4. 4. Menasce’s Scheme • Event and action based algorithm • Not effective enough in detecting deadlocks. • This scheme suffers from phantom deadlocks since blocking pairs, which are basically graph update messages, may arrive out of sequence. • If the deletion message is ignored, a transaction would become ostensibly blocked. This, in turn, could result in phantom deadlock detection.
  5. 5. Chandy’s Scheme • Creates TWF(Transaction Wait for graph) • Colored graphs represent the states of request nodes. • Gray - Resource not accessible , White – Resource is free, Black – Resource in use • Probe is ordered only if the resource is gray or black . • Probes are different from requests or replies and are only meant for deadlock detection.
  6. 6. Obermack’s Algorithm • Builds a TWG of the current system. • Create a node called “external” which sends and receives replies and requests. • When a deadlock occurs each node is initialized and checks all the cycles • Select a victim which caused the deadlock which doesn’t contain external and break down all its cycles. • Doesn’t work all the time and detects false deadlocks because it detects false deadlocks because the wait-for graphs constructed do not represent an overall of the global system at any instant.
  7. 7. Mitchell’s Algorithm • Edge chasing algorithm which uses labels given to track transactions which have same value . Three steps in this Algorithm • Block Step – When the transaction becomes blocked waiting for a second transaction. • Active Step - When a transaction gets a resource • Detect Step - Deadlock is detected
  8. 8. Conclusion • The scheme of Menasce [MENASCE79] requires at each site storage proportional to the size of local transaction wait-for graph. The edges of this graph are both direct and indirect (condensed). Though the condensed edges require extra memory, it may not be substantial in most cases. The number of messages required for deadlock detection may become to be exponential. As mentioned before, the scheme does not detect all deadlocks and detects false deadlocks. • The schemes of [OBERMACK82] have long deadlock messages because of the wait-for graph information sent as part of these messages which are helpful during the deadlock detection stage. • The schemes of Mitchell use probe detection technique which is much more effective than the Chandy and menasce.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.