Results 1  10
of
25
Detection of global predicates: Techniques and their limitations
 Distributed Computing
, 1998
"... We show that the problem of predicate detection in distributed systems is NPcomplete. In the past, efficient algorithms have been developed for special classes of predicates such as stable predicates, observerindependent predicates, and conjunctive predicates. We introduce a class of predicates, s ..."
Abstract

Cited by 44 (8 self)
 Add to MetaCart
We show that the problem of predicate detection in distributed systems is NPcomplete. In the past, efficient algorithms have been developed for special classes of predicates such as stable predicates, observerindependent predicates, and conjunctive predicates. We introduce a class of predicates, semilinear predicates, which properly contains all of the above classes. We first discuss stable, observerindependent and semilinear classes of predicates and their relationships with each other. We also study closure properties of these classes with respect to conjunction and disjunction. Finally, we discuss algorithms for detection of predicates in these classes. We provide a nondeterministic, detection algorithm for each class of predicate. We show that each class can be equivalently characterized by the degree of nondeterminism present in the algorithm. Stable predicates are defined as those that can be detected by an algorithm with the most nondeterminism. All other classes can be derived by appropriately constraining the nondeterminism in this algorithm.
Distributed Algorithms for Detecting Conjunctive Predicates
 In Proc. of the IEEE International Conference on Distributed Computing Systems
, 1994
"... This paper discusses efficient distributed detection of global conjunctive predicates in a distributed program. Previous work in detection of such predicates is based on a checker process. The checker process requires O(n 2 m) time and space where m is the number of messages sent or received by an ..."
Abstract

Cited by 32 (9 self)
 Add to MetaCart
This paper discusses efficient distributed detection of global conjunctive predicates in a distributed program. Previous work in detection of such predicates is based on a checker process. The checker process requires O(n 2 m) time and space where m is the number of messages sent or received by any process and n is the number of processes over which the predicate is defined. In this paper, we introduce tokenbased algorithms which distribute the computation and space requirements of the detection procedure. The distributed algorithm has O(n 2 m) time, space and message complexity, distributed such that each process performs O(nm) work. We describe another distributed algorithm with O(Nm) total work, where N is the total number of processes in the system. The relative values of n and N determine which algorithm is more efficient for a specific application. 1 Introduction Detection of a global predicate is a fundamental problem in distributed computing. This problem arises in many ...
SATBased Synthesis of FaultTolerance
"... We present a technique where we use SAT solvers in automatic synthesis of faulttolerant distributed programs from their faultintolerant version. Since adding faulttolerance to distributed programs is NPcomplete, we use stateoftheart SAT solvers to benefit from efficient heuristics integrated i ..."
Abstract

Cited by 21 (13 self)
 Add to MetaCart
We present a technique where we use SAT solvers in automatic synthesis of faulttolerant distributed programs from their faultintolerant version. Since adding faulttolerance to distributed programs is NPcomplete, we use stateoftheart SAT solvers to benefit from efficient heuristics integrated in SAT solvers to deal with the exponential complexity of adding faulttolerance. Also, such SATbased technique has the potential to use multiple instances of SAT solvers simultaneously so that independent subproblems can be solved in parallel during synthesis.
Secure Distributed Time for Secure Distributed Protocols
, 1994
"... The views and conclusions contained in this document are those of the authors and should not be interpreted as ..."
Abstract

Cited by 15 (9 self)
 Add to MetaCart
The views and conclusions contained in this document are those of the authors and should not be interpreted as
Efficient Detection of Global Properties in Distributed Systems Using PartialOrder Methods
 IN PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON COMPUTERAIDED VERIFICATION (CAV), VOLUME 1855 OF LECTURE NOTES IN COMPUTER SCIENCE
, 2000
"... A new approach is presented for detecting whether a computation of an asynchronous distributed system satisfies Poss (read "possibly"), meaning the system could have passed through a global state satisfying property. Previous generalpurpose algorithms for this problem explicitly enumerate the set o ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
A new approach is presented for detecting whether a computation of an asynchronous distributed system satisfies Poss (read "possibly"), meaning the system could have passed through a global state satisfying property. Previous generalpurpose algorithms for this problem explicitly enumerate the set of global states through which the system could have passed during the computation. The new approach is to represent this set symbolically, in particular, using ordered binary decision diagrams. We describe an implementation of this approach, suitable for offline detection of properties, and compare its performance to the enumerationbased algorithm of Alagar & Venkatesan. In typical cases, the new algorithm is signi cantly faster. We have measured over 400fold speedup in some cases.
A Unified Framework for the Specification and Runtime Detection of Dynamic Properties in Distributed Computations
, 1996
"... this paper we formulate dynamic property specification and detection as instances of the language recognition problem. Considering boolean predicates on states of the computation as an alphabet, dynamic property specification is akin to defining a language over this alphabet. Detecting a property, o ..."
Abstract

Cited by 12 (5 self)
 Add to MetaCart
this paper we formulate dynamic property specification and detection as instances of the language recognition problem. Considering boolean predicates on states of the computation as an alphabet, dynamic property specification is akin to defining a language over this alphabet. Detecting a property, on the other hand, is akin to recognizing at run time if the sentence produced by a distributed execution belongs to the language. This formal languageoriented view not only unifies a large body of work on distributed debugging and property detection, it also leads to simple and efficient detection algorithms. We give examples for the case of properties that can be specified as regular grammars through finite automata. 1 Introduction
Monitoring Functions on Global States of Distributed Programs
 Journal of Parallel and Distributed Computing
, 1994
"... The domain of a global function is the set of all global states of an execution of a distributed program. We show how to monitor a program in order to determine if there exists a global state in which the sum x 1 +x 2 + : : : +xN exceeds some constant K, where x i is defined in process i. We examin ..."
Abstract

Cited by 12 (7 self)
 Add to MetaCart
The domain of a global function is the set of all global states of an execution of a distributed program. We show how to monitor a program in order to determine if there exists a global state in which the sum x 1 +x 2 + : : : +xN exceeds some constant K, where x i is defined in process i. We examine the cases where x i is an integer variable and where x i is a boolean variable. For both cases we provide algorithms, prove their correctness and analyze their complexity. 1 Introduction As a distributed program executes, each process proceeds through a sequence of local states. The set S of all local states is partially ordered by Lamport's happens before relation[Lam78], denoted by !. A global state is a subset of S in which no two elements are ordered by !. Given a global state c of some execution, it is impossible to determine if c actually occurred in an execution. However, it is known that c is consistent with some global state that did occur in the execution [CL85, Mat89]. In ot...
Observation of Global Properties in Distributed Systems
 IEEE Concurrency
, 1996
"... Observation of global properties of a distributed program is required in many applications such as debugging of programs and faulttolerance in distributed systems. I present a survey of algorithms for observing various classes of global properties. These properties include those possibly true in a ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
Observation of global properties of a distributed program is required in many applications such as debugging of programs and faulttolerance in distributed systems. I present a survey of algorithms for observing various classes of global properties. These properties include those possibly true in a computation, definitely true in a computation and those based on the control flow structure of the computation.
Efficient Detection of Restricted Classes of Global Predicates
 In Lecture Notes in Computer Science: Proceedings of the 9th International Workshop on Distributed Algorithms
, 1995
"... We show that the problem of predicate detection in distributed systems is NPcomplete. We introduce a class of predicates, linear predicates, such that for any linear predicate B there exists an efficient detection of the least cut satisfying B. The dual of linearity is postlinearity. These propert ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
We show that the problem of predicate detection in distributed systems is NPcomplete. We introduce a class of predicates, linear predicates, such that for any linear predicate B there exists an efficient detection of the least cut satisfying B. The dual of linearity is postlinearity. These properties generalize several known properties of distributed systems, such as the set of consistent cuts forms a lattice, and the WCP and GCP predicate dectection results given in earlier work. We define a more general class of predicates, semilinear predicates, for which efficient algorithms are known to detect whether a predicate has occurred during an execution of a distributed program. However, these methods may not identify the least such cut. Any stable predicate is an example of a semilinear predicate. In addition, we show that certain unstable predicates can also be semilinear, such as mutual exclusion violation. Finally, we show application of maxflow to the predicate detection proble...
Using Induction to Prove Properties of Distributed Programs
 Proc. 5th IEEE Symp. on Parallel and Distributed Processing
, 1993
"... Proofs of distributed programs are often informal due to the difficulty of developing formal proofs. Properties of distributed programs are often stated using Lamport's causallyprecedes relation and its complement, notcausallyprecedes. Properties that involve the causallyprecedes relation are fa ..."
Abstract

Cited by 7 (6 self)
 Add to MetaCart
Proofs of distributed programs are often informal due to the difficulty of developing formal proofs. Properties of distributed programs are often stated using Lamport's causallyprecedes relation and its complement, notcausallyprecedes. Properties that involve the causallyprecedes relation are fairly straight forward to prove using induction. However, properties that involve notcausallyprecedes are quite difficult to prove. Such properties are common since predicates on the global state of a system implicitly use the notcausallyprecedes relation. This paper presents a method of induction on the notcausallyprecedes relation and demonstrates the technique by formally proving a variant of the well known algorithm for maintaining a vector clock. 1 Introduction In this paper we present a method to prove properties of asynchronous distributed programs. Our method is based upon the causallyprecedes relation as defined by Lamport [7]. We show how properties using the causallypreced...