Consider the following deadlock-detection algorithm. When transaction T i , at site S 1 , requests a

Question:

Consider the following deadlock-detection algorithm. When transaction Ti, at site S1, requests a resource from Tj, at site S3, a request message with timestamp n is sent. The edge (Ti, Tj, n) is inserted in the local wait-for of S1. The edge (Ti, Tj, n) is inserted in the local wait-for graph of S3 only if Tj has received the request message and cannot immediately grant the requested resource. A request fromTi to Tj in the same site is handled in the usual manner; no timestamps are associated with the edge (Ti, Tj). A central coordinator invokes the detection algorithm by sending an initiating message to each site in the system. On receiving this message, a site sends its local wait-for graph to the coordinator. Note that such a graph contains all the local information that the site has about the state of the real graph. The wait-for graph reflects an instantaneous state of the site, but it is not synchronized with respect to any other site.

When the controller has received a reply from each site, it constructs a graph as follows:

• The graph contains a vertex for every transaction in the system.

• The graph has an edge (Ti, Tj) if and only if

There is an edge (Ti, Tj) in one of the wait-for graphs.

An edge (Ti, Tj, n) (for some n) appears in more than one wait-for graph.

Show that, if there is a cycle in the constructed graph, then the system is in a deadlock state, and that, if there is no cycle in the constructed graph, then the system was not in a deadlock state when the execution of the algorithm began.

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question

Database System Concepts

ISBN: 978-0072554816

4th Edition

Authors: Henry F. Korth, S. Sudarshan

Question Posted: