Distributed Deadlock Detection for Communicating Processes.

Abstract

In a distributed system where processes communicate directly, deadlock among a set P of processes occurs when all processes in P are idle waiting for messages from other processes in P in order to start execution, but there are no messages in transit between them. For a process which suspects that it may be deadlocked to determine whether it is indeed deadlocked, it is necessary for it to query other processes. Chandy, Misra, and Haas have proposed a distributed deadlock detection algorithm which uses fixed-length queries and replies. According to this algorithm, a process which suspects it may be deadlocked initiates a query computation by querying each process from which it is waiting to receive a message. If the initiator receives one reply for each query sent out, then the initiator is deadlocked. Otherwise, if the initiator has not received all replies within a timeout period T, it assumes that it is not deadlocked. We present five algorithms which use variable-length queries and replies to detect deadlock. Instead of using timeout to indicate an absence of deadlock, these algorithms use explicit messages called informs to convey the absence of deadlock to the query computation initiator. One algorithm detects a deadlock if it exists when the query computation is initiated. the other algorithms will detect deadlock as deadlock conditions develop. Proofs of correctness are provided, along with a simulation study which compares the performance of the new algorithms with that of the algorithms with that of the algorithm by Chandy, Misra, and Haas. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1986
Accession Number
ADA172839

Entities

People

  • Richard A. Adams

Organizations

  • Air Force Institute of Technology

Tags

DTIC Thesaurus Topics

  • Air Force
  • Algorithms
  • Case Studies
  • Computations
  • Computer Networks
  • Computer Science
  • Computers
  • Databases
  • Detection
  • Distributed Computing
  • Information Processing
  • Mathematics
  • Networks
  • Simulations
  • Software Development
  • Throughput
  • Two Dimensional

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Computer Networking