Algorithms for mutual exclusion
Algorithms for mutual exclusion
Distributed algorithms and protocols
Distributed algorithms and protocols
A distributed algorithm for multiple entries to a critical section
Information Processing Letters
Principles of concurrent and distributed programming
Principles of concurrent and distributed programming
Logical Time in Distributed Computing Systems
Computer - Distributed computing systems: separate resources acting as one
Consistent detection of global predicates
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Another distributed algorithm for multiple entries to a critical section
Information Processing Letters
Optimal tracing and replay for debugging message-passing parallel programs
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
A taxonomy of distributed mutual exclusion
Journal of Parallel and Distributed Computing
Optimal tracing and replay for debugging shared-memory parallel programs
PADD '93 Proceedings of the 1993 ACM/ONR workshop on Parallel and distributed debugging
Optimal tracing and replay for debugging message-passing parallel programs
The Journal of Supercomputing
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Replay for concurrent non-deterministic shared-memory applications
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Detection of Strong Unstable Predicates in Distributed Programs
IEEE Transactions on Parallel and Distributed Systems
Progressive Retry for Software Failure Recovery in Message-Passing Applications
IEEE Transactions on Computers
Deterministic replay of Java multithreaded applications
SPDT '98 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Consistent global states of distributed systems: fundamental concepts and mechanisms
Distributed systems (2nd Ed.)
Debugging distributed programs using controlled re-execution
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Concurrent reading and writing
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Principles of Distributed Systems
Principles of Distributed Systems
Dynamic file-access characteristics of a production parallel scientific workload
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
How Fail-Stop are Faulty Programs?
FTCS '98 Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing
A distributed K-mutual exclusion algorithm
ICDCS '95 Proceedings of the 15th International Conference on Distributed Computing Systems
Software fault tolerance in distributed systems using controlled re-execution
Software fault tolerance in distributed systems using controlled re-execution
Solving Computation Slicing Using Predicate Detection
IEEE Transactions on Parallel and Distributed Systems
Petri nets and programming: a survey
ACC'09 Proceedings of the 2009 conference on American Control Conference
Hi-index | 0.00 |
The predicate control problem involves synchronizing a distributed computation to maintain a given global predicate. In contrast with many popular distributed synchronization problems such as mutual exclusion, readers writers, and dining philosophers, predicate control assumes a look-ahead, so that the computation is an off-line rather than an on-line input. Predicate control is targeted towards applications such as rollback recovery, debugging, and optimistic computing, in which such computation look-ahead is natural.We define predicate control formally and show that, in its full generality, the problem is NP-complete. We find efficient solutions for some important classes of predicates including "disjunctive predicates", "mutual exclusion predicates", and "readers writers predicates". For each class of predicates, we determine the necessary and sufficient conditions for solving predicate control and describe an efficient algorithm for determining a synchronization strategy. In the case of "independent mutual exclusion predicates", we determine that predicate control is NP-complete and describe an efficient algorithm that finds a solution under certain constraints.