Operating systems (3rd ed.): internals and design principles
Operating systems (3rd ed.): internals and design principles
Evaluating architectures for multithreaded object request brokers
Communications of the ACM
Compact finite difference schemes for ocean models: 1. Ocean waves
Journal of Computational Physics
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Operating System Concepts
Introduction to Algorithms
Alleviating Priority Inversion and Non-Determinism in Real-Time CORBA ORB Core Architectures
RTAS '98 Proceedings of the Fourth IEEE Real-Time Technology and Applications Symposium
Middleware Specialization for Memory-Constrained Networked Embedded Systems
RTAS '04 Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium
Code aware resource management
Proceedings of the 5th ACM international conference on Embedded software
Cooperating Sequential Processes, Technical Report EWD-123
Cooperating Sequential Processes, Technical Report EWD-123
On efficient distributed deadlock avoidance for real-time and embedded systems
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Thread allocation protocols for distributed real-time and embedded systems
FORTE'05 Proceedings of the 25th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Resource virtualization in real-time CORBA middleware
CODES+ISSS '06 Proceedings of the 4th international conference on Hardware/software codesign and system synthesis
Deadlocks: From Exhibiting to Healing
Runtime Verification
A family of distributed deadlock avoidance protocols and their reachable state spaces
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Distributed priority inheritance for real-time and embedded systems
OPODIS'06 Proceedings of the 10th international conference on Principles of Distributed Systems
On deadlocks and fairness in self-organizing resource-flow systems
ARCS'10 Proceedings of the 23rd international conference on Architecture of Computing Systems
Hi-index | 0.00 |
We present a deadlock avoidance algorithm for distributed systems that guarantees liveness. Deadlock avoidance in distributed systems is a hard problem and general solutions are considered impractical due to the high communication overhead. In previous work, however, we showed that practical solutions exist when all possible sequences of resource requests are known a priori in the form of call graphs; in this case protocols can be constructed that perform safe resource allocation based on local data only, that is, no communication between components is required. While avoiding deadlock, those protocols, however, did not avoid starvation: they guaranteed that some process could always make progress, but did not guarantee that every individual process would always eventually terminate.In this paper we present a resource allocation mechanism that avoids deadlock and guarantees absence of starvation, without undue loss of concurrency. The only assumption we make is that the local scheduler is fair. We prove the correctness of the algorithm and show how it can be implemented efficiently.