• DocumentCode
    1236751
  • Title

    A Priority Based Distributed Deadlock Detection Algorithm

  • Author

    Sinha, Mukul K. ; Natarajan, N.

  • Author_Institution
    National Centre for Software Development and Computing Techniques, Tata Institute of Fundamental Research
  • Issue
    1
  • fYear
    1985
  • Firstpage
    67
  • Lastpage
    80
  • Abstract
    Deadlock handling is an important component of transaction management in a database system. In this paper, we contribute to the development of techniques for transaction management by presenting an algorithm for detecting deadlocks in a distributed database system. The algorithm uses priorities for transactions to minimize the number of messages initiated for detecting deadlocks. It does not construct any wait-for graph but detects cycles by an edge-chasing method. It does not detect any phantom deadlock (in the absence of failures), and for the resolution of deadlocks it does not need any extra computation. The algorithm also incorporates a post-resolution computation that leaves information characterizing dependence relations of remaining transactions of the deadlock cycle in the system, and this will help in detecting and resolving deadlocks which may arise in the future. An interesting aspect of this algorithm is that it is possible to compute the exact number of messages generated for a given deadlock configuration. The complexity is comparable to the best algorithm reported. We first present a basic algorithm and then extend it to take into account shared and exclusive lock modes, simultaneous acquisition of multiple locks, and nested transactions.
  • Keywords
    Deadlock; deadlock detection; distributed database; nested transaction; priority; timestamp; transaction; Database systems; Detection algorithms; Distributed databases; Imaging phantoms; Laser mode locking; Programming; System recovery; Telecommunication network reliability; Transaction databases; Deadlock; deadlock detection; distributed database; nested transaction; priority; timestamp; transaction;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1985.231844
  • Filename
    1701899