Survey of Deadlock Detection in Distributed Concurrent Programming Environments and Its Application to Real-Time Systems

  • Authors:
  • Chia Shih;John A. Stankovic

  • Affiliations:
  • -;-

  • Venue:
  • Survey of Deadlock Detection in Distributed Concurrent Programming Environments and Its Application to Real-Time Systems
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

Deadlock is one of the most serious problems in multitasking concurrent programming systems. The deadlock problem becomes further complicated when the underlying system is distributed and when tasks have time constraints. Distributed deadlock detection has been studied to some extent in distributed database systems and distributed timesharing operating systems but has not been widely used in real-time systems. In this report, we investigate deadlock detection algorithms in distributed environments and extend the results to real-time systems. In particular, we direct our attention to Ada environment and try to apply our solutions to it. Related problems, such as livelocks, orphan tasks, task termination problems, and global state detection, are considered when it is appropriate. This report has two main parts. First, we complete a state-of-the-art survey of the distributed deadlock detection algorithms proposed in the literature. The survey work includes: (1) graph theory, (2) distributed concurrent programming systems, (3) deadlock models, and (4) distributed deadlock detection and resolution algorithms. Second, we extend the deadlock problems into real- time systems and develop solutions for them. In particular, the solutions are developed with the applications to the Ada environment in mind. Also, we analyze and categorize the deadlock problem in Ada environments into four levels of complexity by using Knapp''s hierarchy of deadlock models. To fully support Ada semantics it is necessary to develop solutions for the most complex level. Many Ada applications, however, do not utilize all the features that Ada provides. Consequently, according to the characteristics of an application, the deadlock problem may be simplified by imposing certain restrictions on the use of Ada. We develop a series of solutions depending on the level of restriction imposed on the use of Ada and we relate those solutions to the levels of complexity associated with the theoretical models. Two algorithms related to the first two levels of complexity are presented in this report.