Distributed deadlock detection and resolution algorithm and its correctness proof

Ahmed Elmagarmid, Neelam Soundararajan, Ming T. Liu

Research output: Contribution to journalArticle

13 Citations (Scopus)

Abstract

An algorithm is proposed for distributed deadlock detection and resolution. The key idea of the algorithm is to let one transaction controller be in charge of all transactions in a set of interacting transactions. Two transactions are interacting if they are both interested in (accessing) the same resource. In addition, the controller is in charge of all the resources allocated to any of the transactions in the set. Having one controller in charge of all the transactions in a set of interacting transactions and all the resources allocated to them makes it easier to detect deadlocks and avoid them. The main problem dealt with is how a controller takes charge of another transaction when the transaction tries to access one of the resources currently in the control of the controller and how a controller releases a transaction back to its original controller when the transaction is no longer interested in any of the resources in which one or more of the other transactions are also interested. Communicating Sequential Processes (CSP) is used to code the algorithm. The correctness of the algorithm is proved in a semiformal manner.

Original languageEnglish
Pages (from-to)1443-1452
Number of pages10
JournalIEEE Transactions on Software Engineering
Volume14
Issue number10
DOIs
Publication statusPublished - 1 Oct 1988
Externally publishedYes

Fingerprint

Controllers

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Software
  • Electrical and Electronic Engineering

Cite this

Distributed deadlock detection and resolution algorithm and its correctness proof. / Elmagarmid, Ahmed; Soundararajan, Neelam; Liu, Ming T.

In: IEEE Transactions on Software Engineering, Vol. 14, No. 10, 01.10.1988, p. 1443-1452.

Research output: Contribution to journalArticle

@article{843508320bdb4833be28c6eccbcc6bcf,
title = "Distributed deadlock detection and resolution algorithm and its correctness proof",
abstract = "An algorithm is proposed for distributed deadlock detection and resolution. The key idea of the algorithm is to let one transaction controller be in charge of all transactions in a set of interacting transactions. Two transactions are interacting if they are both interested in (accessing) the same resource. In addition, the controller is in charge of all the resources allocated to any of the transactions in the set. Having one controller in charge of all the transactions in a set of interacting transactions and all the resources allocated to them makes it easier to detect deadlocks and avoid them. The main problem dealt with is how a controller takes charge of another transaction when the transaction tries to access one of the resources currently in the control of the controller and how a controller releases a transaction back to its original controller when the transaction is no longer interested in any of the resources in which one or more of the other transactions are also interested. Communicating Sequential Processes (CSP) is used to code the algorithm. The correctness of the algorithm is proved in a semiformal manner.",
author = "Ahmed Elmagarmid and Neelam Soundararajan and Liu, {Ming T.}",
year = "1988",
month = "10",
day = "1",
doi = "10.1109/32.6189",
language = "English",
volume = "14",
pages = "1443--1452",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "10",

}

TY - JOUR

T1 - Distributed deadlock detection and resolution algorithm and its correctness proof

AU - Elmagarmid, Ahmed

AU - Soundararajan, Neelam

AU - Liu, Ming T.

PY - 1988/10/1

Y1 - 1988/10/1

N2 - An algorithm is proposed for distributed deadlock detection and resolution. The key idea of the algorithm is to let one transaction controller be in charge of all transactions in a set of interacting transactions. Two transactions are interacting if they are both interested in (accessing) the same resource. In addition, the controller is in charge of all the resources allocated to any of the transactions in the set. Having one controller in charge of all the transactions in a set of interacting transactions and all the resources allocated to them makes it easier to detect deadlocks and avoid them. The main problem dealt with is how a controller takes charge of another transaction when the transaction tries to access one of the resources currently in the control of the controller and how a controller releases a transaction back to its original controller when the transaction is no longer interested in any of the resources in which one or more of the other transactions are also interested. Communicating Sequential Processes (CSP) is used to code the algorithm. The correctness of the algorithm is proved in a semiformal manner.

AB - An algorithm is proposed for distributed deadlock detection and resolution. The key idea of the algorithm is to let one transaction controller be in charge of all transactions in a set of interacting transactions. Two transactions are interacting if they are both interested in (accessing) the same resource. In addition, the controller is in charge of all the resources allocated to any of the transactions in the set. Having one controller in charge of all the transactions in a set of interacting transactions and all the resources allocated to them makes it easier to detect deadlocks and avoid them. The main problem dealt with is how a controller takes charge of another transaction when the transaction tries to access one of the resources currently in the control of the controller and how a controller releases a transaction back to its original controller when the transaction is no longer interested in any of the resources in which one or more of the other transactions are also interested. Communicating Sequential Processes (CSP) is used to code the algorithm. The correctness of the algorithm is proved in a semiformal manner.

UR - http://www.scopus.com/inward/record.url?scp=0024088480&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0024088480&partnerID=8YFLogxK

U2 - 10.1109/32.6189

DO - 10.1109/32.6189

M3 - Article

VL - 14

SP - 1443

EP - 1452

JO - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

IS - 10

ER -