What are wait-for-graphs, Database Management System

Assignment Help:

What are wait-for-graphs?Give the algorithm to construct a wait-for-graph from a given schedule of transactions? How can deadlocks be detected from wait-for-graphs? 

 Ans:  The wait-for-graph is a directed graph and consists of nodes and directed arcs; the nodes of the graph are active transactions. An arc of the graph is inserted among two nodes if there is a data-item is needed by the node at the tail of the arc that is being held by the node at the head of the arc. 

  Algorithm to construct wait-for-graph is as follows:

1.  For every transaction Ti active at the time of deadlock detection, make a node labeled Ti in the wait-for-graph.

2.  For every case, if there is a transaction Ti, waiting for a data-item that is at present allocated and held by transaction Tj, then there is a directed arc from the node for transaction Ti, to the node for transaction Tj.

3.  For every case, if there is a directed arc from the node for transaction Ti, to the node for transaction Tj and transaction Tj released the lock, after that remove the arc between them.

4.  There no deadlock if the wait-for-graph is acyclic.  

The wait-for-graph is employed for detection of deadlock in the system. If there is any cycle exits in the wait-for-graph, all the active transaction (denoted as nodes) are in deadlock that are in the cycle.


Related Discussions:- What are wait-for-graphs

Note gate, i want notes on this topic

i want notes on this topic

File manager-database management system, File Manager File manager ha...

File Manager File manager handles the allocation of space on disk storage. It starts and maintains the list of structures and indices described in the internal schema that is

Determine the steps of path in association network, Determine the steps of ...

Determine the steps of path in association network You can analyse use of paths in association network in the following steps:  Examine every operation and see what asso

What is a transaction, What is a Transaction? A transaction is an even...

What is a Transaction? A transaction is an event which happens on the database. Generally a transaction reads a value from the database or writes a value to the database. If y

Explain candidate key, Explain Candidate key? Candidate Key - A candi...

Explain Candidate key? Candidate Key - A candidate key is a minimal superkey, that can be used to uniquely identify a tuple in the relation.

Database manager, Database Manager It is the interface among low-leve...

Database Manager It is the interface among low-level data, queries and application programs. Databases typically need a large amount of storage space. It is kept on disks, as

What is the difference between where and having clauses, What is the differ...

What is the difference between WHERE and HAVING clauses?. Predicates in the WHERE clause applies to every tuple while the predicate in the HAVING clause applies to groups.

Strict 2pl-two phase locking (2pl), Strict 2PL :Though, this basic 2PL suff...

Strict 2PL :Though, this basic 2PL suffers from the trouble that it can result into loss of isolation / atomic property of transaction as theoretically speaking once a lock is rele

Explain the systems development life cycle, Explain the systems development...

Explain the systems development life cycle. This is the traditional method to develop, maintain, and replace information systems that contains the project identification and se

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd