Evaluating architectures for multithreaded object request brokers
Communications of the ACM
Some Deadlock Properties of Computer Systems
ACM Computing Surveys (CSUR)
An anomaly in space-time characteristics of certain programs running in a paging machine
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
Advanced Concepts in Operating Systems
Advanced Concepts in Operating Systems
Middleware Specialization for Memory-Constrained Networked Embedded Systems
RTAS '04 Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium
Cooperating Sequential Processes, Technical Report EWD-123
Cooperating Sequential Processes, Technical Report EWD-123
Operating System Concepts
Avoiding deadlock in multitasking systems
IBM Systems Journal
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
Efficient distributed deadlock avoidance with liveness guarantees
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Model-Driven Development of Reliable Automotive Services
Distributed priority inheritance for real-time and embedded systems
OPODIS'06 Proceedings of the 10th international conference on Principles of Distributed Systems
Resource Management in Real Time Distributed System with Security Constraints: A Review
International Journal of Distributed Systems and Technologies
Hi-index | 0.00 |
Thread allocation is an important problem in distributed real-time and embedded (DRE) systems. A thread allocation policy that is too liberal may cause deadlock, while a policy that is too conservative limits potential parallelism, thus wasting resources. However, achieving (globally) optimal thread utilization, while avoiding deadlock, has been proven impractical in distributed systems: it requires too much communication between components. In previous work we showed that efficient local thread allocation protocols are possible if the protocols are parameterized by global static data, in particular by an annotation of the global call graph of all tasks to be performed by the system. We proved that absence of cyclic dependencies in this annotation guarantees absence of deadlock. In this paper we present an algorithm to compute optimal annotations, that is annotations that maximize parallelism while satisfying the condition of acyclicity. Moreover, we show that the condition of acyclicity is in fact tight and exhibits a rather surprising anomaly: if a cyclic dependency is present in the annotation of the call graph and a certain minimum number of threads is provided, deadlock is reachable. Thus, in the presence of cyclic dependencies, increasing the number of threads may introduce the possibility of deadlock in an originally deadlock free system.