Deadlock detection in distributed databases
- 1 December 1987
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 19 (4), 303-328
- https://doi.org/10.1145/45075.46163
Abstract
The problem of deadlock detection in distributed systems has undergone extensive study. An important application relates to distributed database systems. A uniform model in which published algorithms can be cast is given, and the fundamental principles on which distributed deadlock detection schemes are based are presented. These principles represent mechanisms for developing distributed algorithms in general and deadlock detection schemes in particular. In addition, a hierarchy of deadlock models is presented; each model is characterized by the restrictions that are imposed upon the form resource requests can assume. The hierarchy includes the well-known models of resource and communication deadlock. Algorithms are classified according to both the underlying principles and the generality of resource requests they permit. A number of algorithms are discussed in detail, and their complexity in terms of the number of messages employed is compared. The point is made that correctness proofs for such algorithms using operational arguments are cumbersome and error prone and, therefore, that only completely formal proofs are sufficient for demonstrating correctness.Keywords
This publication has 18 references indexed in Scilit:
- A survey of distributed deadlock detection algorithmsACM SIGMOD Record, 1986
- An example of stepwise refinement of distributed programs: quiescence detectionACM Transactions on Programming Languages and Systems, 1986
- Distributed snapshotsACM Transactions on Computer Systems, 1985
- Derivation of a termination detection algorithm for distributed computationsInformation Processing Letters, 1983
- Distributed deadlock detectionACM Transactions on Computer Systems, 1983
- A Distributed Graph Algorithm: Knot DetectionACM Transactions on Programming Languages and Systems, 1982
- Echo Algorithms: Depth Parallel Operations on General GraphsIEEE Transactions on Software Engineering, 1982
- Termination detection for diffusing computationsInformation Processing Letters, 1980
- Time, clocks, and the ordering of events in a distributed systemCommunications of the ACM, 1978
- Some Deadlock Properties of Computer SystemsACM Computing Surveys, 1972