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

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.

Create a table for database transformation , Step 1 . Using Oracle, create ...

Step 1 . Using Oracle, create the tables identified in the preferred solution for Assignment 2. Technicians (ZipCode, TechnicianID, FirstName, LastName, Street, City, State, Home

Data manipulation language, Data Manipulation Language Data manipulatio...

Data Manipulation Language Data manipulation language (DML) describes a set of commands that are used to query and change data within existing schema objects. In this case comm

Implement a cache simulator, You are required to program (in a high level l...

You are required to program (in a high level language such as C, C++, Java) and implement a cache simulator which will have the following inputs and outputs:- INPUTS

Two phase locking (2pl), Two Phase Locking (2PL) The two-phase locking ...

Two Phase Locking (2PL) The two-phase locking protocol having of two phases: Phase 1 : The lock acquisition phase : If a transaction T needs to read an object, it wants to

Describe the strategies adopted by the ministry of ict, Question 1: (a)...

Question 1: (a) Planning and management of ICT projects have a very poor record in developing countries. Briefly explain five critical success factors for correct implementa

Why were functional methods fashionable in early days, Why were functional ...

Why were functional methods fashionable in early days? These are inspired directly by computer architecture and thus popular among computer scientist in early days. The divisio

Insert into command, INSERT INTO command : Values can be inserted fo...

INSERT INTO command : Values can be inserted for all columns or for the selected columns Values can be given by sub query. In place of values parameter substitution

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