scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Comments on prevention of system deadlocks

01 Jan 1971-Communications of The ACM (ACM)-Vol. 14, Iss: 1, pp 36-38
TL;DR: Habermann's method of deadlock prevention is discussed, where deadlock is defined as a system state from which resource allocations to certain processes are not possible.
Abstract: Habermann's method of deadlock prevention is discussed, where deadlock is defined as a system state from which resource allocations to certain processes are not possible. It is shown that the scheduler may introduce “artificial” deadlocks which Habermann's method does not prevent. Permanent blocking is the situation where certain processes never receive their resource requests. It is shown that deadlock prevention does not necessarily eliminate permanent blocking. A method of preventing permanent blocking is given.

Content maybe subject to copyright    Report






Citations
More filters
Journal ArticleDOI
01 Dec 1991
TL;DR: One specific problem of control, namely, system deadlock that can arise in an unmanned flexible manufacturing system (FMS) is addressed, and some related work in the deadlocking of computer systems is described.
Abstract: One specific problem of control, namely, system deadlock that can arise in an unmanned flexible manufacturing system (FMS) is addressed, and some related work in the deadlocking of computer systems is described. A formal model for manufacturing system deadlock detection is presented. Necessary and sufficient conditions for manufacturing system deadlock based on actual manufacturing-system characteristics are defined along with a set of bounds for searching for deadlocks. An implementation approach is also presented. >

247 citations

Journal ArticleDOI
TL;DR: In this paper, necessary and sufficient conditions are given and proven for the use of process ordering and generalized resource ordering techniques to avoid deadlocks in arbitrary systems of interacting processes.
Abstract: This paper first Surveys a number of potential deadlocks inherent in store-and-forward networks and outlines corresponding countermeasures. It then goes on to a more detailed treatment of the most important deadlock types. Finally, necessary and sufficient conditions are given and proven for the use of process ordering and generalized resource ordering techniques to avoid deadlocks in arbitrary systems of interacting processes.

186 citations

Journal ArticleDOI
01 Jun 1995
TL;DR: Graph-theoretic deadlock detection and resolution procedures are presented which are suitable for real-time control of manufacturing systems and determine whether part movement in the system causes system deadlock or not.
Abstract: Flexible manufacturing systems are capable of producing a broad variety of products and changing their characteristics quickly and frequently. This flexibility provides for more efficient use of resources, but makes control of these systems more difficult. Control problems previously unstudied now require practical resolution, like system deadlock. A system deadlock is a situation that arises due to resource sharing in manufacturing systems, when the flow of parts is permanently inhibited and/or operations on parts cannot be performed. This problem has been ignored by most scheduling and control studies, which usually assume infinite machine queue capacity and unlimited tooling resources. FMS's, however, have little or no queue capacity and limited tooling resources. In this paper, graph-theoretic deadlock detection and resolution procedures are presented which are suitable for real-time control of manufacturing systems. These procedures determine whether part movement in the system causes system deadlock or not. To this end, a system status graph representing part routings is virtually updated for every part movement before parts move physically to the next destination. Two types of system deadlocks, part flow deadlock and impending part flow deadlock, are detected using the updated system status graph. If a deadlock detection and recovery method is used to recover from a deadlock using a storage buffer, only part flow deadlocks need to be detected. On the other hand, if no buffer is available, both types of existing as well as impending system deadlocks need to be detected to avoid a deadlock situation. >

151 citations

Proceedings ArticleDOI
08 Dec 2008
TL;DR: Gadara automates dynamic deadlock avoidance for conventional multithreaded programs and employs whole-program static analysis to model programs, and Discrete Control Theory to synthesize lightweight, decentralized, highly concurrent logic that controls them at runtime.
Abstract: Deadlock is an increasingly pressing concern as the multicore revolution forces parallel programming upon the average programmer. Existing approaches to deadlock impose onerous burdens on developers, entail high runtime performance overheads, or offer no help for unmodified legacy code. Gadara automates dynamic deadlock avoidance for conventional multithreaded programs. It employs whole-program static analysis to model programs, and Discrete Control Theory to synthesize lightweight, decentralized, highly concurrent logic that controls them at runtime. Gadara is safe, and can be applied to legacy code with modest programmer effort. Gadara is efficient because it performs expensive deadlock-avoidance computations offline rather than online. We have implemented Gadara for C/Pthreads programs. In benchmark tests, Gadara successfully avoids injected deadlock faults, imposes negligible to modest performance overheads (at most 18%), and outperforms a software transactional memory system. Tests on a real application show that Gadara identifies and avoids both previously known and unknown deadlocks while adding performance overheads ranging from negligible to 10%.

149 citations


Cites background from "Comments on prevention of system de..."

  • ...Holt discussed the possibility of star vation in Habermann’s approach [16] and introduced a variant with faster online safety checks [17]....

    [...]

Journal ArticleDOI
TL;DR: In this paper, a structured model for deadlock detection, avoidance and resolution caused by part flow in manufacturing systems is presented, where a system status graph can be constructed for the parts currently in the system.
Abstract: Production scheduling models that determine part mix ratios and detailed schedules do not usually account for deadlocks that can be caused by part flow. Deadlocks must be prevented for operational control (especially in automated systems). The major thrust of this paper is in developing a structured model for deadlock detection, avoidance and resolution caused by part flow in manufacturing systems. A system status graph can be constructed for the parts currently in the system. Deadlock detection amounts to determining deadlocks in the system status graph. On the other hand, deadlock avoidance amounts to restricting parts movement so that deadlocks are completely avoided in the future. While deadlock detection is a one-step look ahead procedure, deadlock avoidance is a complete look ahead procedure. Deadlock resolution or recovery amounts to judiciously using a limited queue to recover from deadlocks. Deadlock detection and avoidance are absolutely crucial to uninterrupted operation of automated m...

141 citations

References
More filters
Journal ArticleDOI
TL;DR: A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in the “critical section” of its cycle.
Abstract: A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in the “critical section” of its cycle.

799 citations

Book
01 Jan 2002
TL;DR: A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in the "critical section" of its cycle.
Abstract: A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in the "critical section" of its cycle.

684 citations

Journal ArticleDOI
TL;DR: Algorithms are presented which examine a request in the light of the current allocation of resources and determi whether or not the granting of the request will introduce the possibility of a deadlock.
Abstract: A well-known problem in the design of operating systems is the selection of a resource allocation policy that will prevent deadlock. Deadlock is the situation in which resources have been allocated to various tasks in such a way that none of the tasks can continue. The various published solutions have been somewhat restrictive: either they do not handle the problem in sufficient generality or they suggest policies which will on occasion refuse a request which could have been safely granted. Algorithms are presented which examine a request in the light of the current allocation of resources and determi.~e whether or not the granting of the request will introduce the possibility of a deadlock. Proofs given in the appendixes show that the conditions imposed by the algorithms are both necessary and sufficient to prevent deadlock. The algorithms have been successfully used in the THE system.

310 citations


"Comments on prevention of system de..." refers background or methods in this paper

  • ...A. N. Habermann has made an important contribution to the theory of computer system design by presenting a method for preventing deadlock [ 1 ]....

    [...]

  • ...In his article [ 1 ] Habermann states, "The algorithms [for deciding if a state is safe] decide only whether or not granting a request can produce a deadlock, so assignment rules (according to priority rules, for instance) can be implemented freely." The obvious conclusion would seem to be that a scheduler which grants only safe requests will avoid all deadlocks and will grant all requests....

    [...]

  • ...(See Habermann's definitions in [ 1 ].) Such a sequence is called a safe sequence....

    [...]

Journal ArticleDOI
TL;DR: Professor Dijkstra's ingenious construction and Hyman's "simplification" for the case of two computers hardly works at all, and it is hoped that this letter can save people some of the problems they would encounter if they were to use either of those methods.
Abstract: Professor Dijkstra's ingenious construction [Solution of a Problem in Concurrent Programming Control, Comm. ACM 8 (Sept. 1965), 569] is not quite a solution to a related problem almost identical to the problem he posed there, and Mr. Hyman's "simplification" for the case of two computers ]Comm. ACM 9 (Jan. 1965), 45] hardly works at all. I hope that by this letter I can save people some of the problems they would encounter if they were to use either of those methods.

185 citations


"Comments on prevention of system de..." refers background in this paper

  • ...[ 6 , 7]. In 1965 E. W. Dijkstra had given a solution to the critical section problem which guarantees that only one process at a time gains entry to a critical section, and that if several processes are competing for entry, at least one process gains entry....

    [...]

01 Jan 1971
TL;DR: A system is said to be in "deadlock" whenever it is stuck in a state where each part of the system is waiting for some event that can only be caused/triggered by another part ofThe system.
Abstract: A system is said to be in "deadlock" whenever it is stuck in a state where each part of the system is waiting for some event that can only be caused/triggered by another part of the system. (which is also waiting for another part, etc.) The various parts wait on eachother, and no progress can be made (the system state cannot change).

63 citations


"Comments on prevention of system de..." refers methods in this paper

  • ...of terms used in this note, may be found in the author's thesis [ 2 ]....

    [...]

Trending Questions (1)
Will Windows Task Scheduler run when computer is locked?

It is shown that the scheduler may introduce “artificial” deadlocks which Habermann's method does not prevent.