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

Table handling, Table Handling  In RDBMS more than one table can be tac...

Table Handling  In RDBMS more than one table can be tackled at a time by using join operation. Join operation is a relational operation that causes 2 tables with a common domai

Delete - referential integrity, During the deletion of a tuple two cases ca...

During the deletion of a tuple two cases can happen: Deletion of tuple in relation having the foreign key: In this type of case simply delete the desired tuple. For example, in

Requirements for your cache simulator, Using your cache simulator and using...

Using your cache simulator and using smalltex.din as your memory trace determine the total miss rate, compulsory miss rate, capacity miss rate, and conflict miss rate for the follo

Many-to-many relationship, For each m:n relationship type R, we make a new ...

For each m:n relationship type R, we make a new table (say S) to represent R. We also contain the primary key attributes of both the participating entity types as a foreign key att

Explain difference between volatile, Explain the difference between the thr...

Explain the difference between the three storage types - volatile, non volatile and stable.             Ans: Volatile storage: if storage media loses data while power goes off,

Determine the programming language structures, What is the most significant...

What is the most significant feature that does not directly map into programming language structures? Why? Association, since there are complex types of association, like as qu

Describe the concept of aggregation, Aggregation Aggregation is strong...

Aggregation Aggregation is stronger form of association. It represents the "has-a" or "part-of" relationship. An aggregation association depicts a complex object which is comp

What is nested trigger, What is Nested Trigger? A trigger can also havi...

What is Nested Trigger? A trigger can also having INSERT, UPDATE and DELETE logic within itself, so when the trigger is fired because of data modification it can also cause ano

Abap/4 program, It is not possible to make an ABAP/4 program, which having ...

It is not possible to make an ABAP/4 program, which having only Subroutines. False. We can make ABAP/4 program, which having only Subroutines.

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