Results 1  10
of
35
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 47 (7 self)
 Add to MetaCart
(Show Context)
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.
Detection of Strong Unstable Predicates in Distributed Programs
 IEEE Transactions on Parallel and Distributed Systems
, 1996
"... This paper discusses detection of global predicates in a distributed program. A run of a distributed program results in a set of sequential traces, one for each process. These traces may be combined to form many global sequences consistent with the single run of the program. A strong global predicat ..."
Abstract

Cited by 45 (9 self)
 Add to MetaCart
This paper discusses detection of global predicates in a distributed program. A run of a distributed program results in a set of sequential traces, one for each process. These traces may be combined to form many global sequences consistent with the single run of the program. A strong global predicate is true in a run if it is true for all global sequences consistent with the run. We present algorithms which detect if the given strong global predicate became true in a run of a distributed program. 1 Introduction Detection of global predicates is a fundamental problem in distributed computing. It arises in the designing, debugging and testing of distributed programs. Global predicates can be classified into two types  stable and unstable. A stable predicate is one which never turns false once it becomes true. An unstable predicate is one without such a property. Its value may alternate between true and false. Detection of stable predicates has been addressed in the literature by means ...
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 31 (7 self)
 Add to MetaCart
(Show Context)
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 26 (17 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.
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 ..."
Abstract

Cited by 19 (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 16 (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
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
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 13 (6 self)
 Add to MetaCart
(Show Context)
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 10 (4 self)
 Add to MetaCart
(Show Context)
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.
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 a ..."
Abstract

Cited by 9 (8 self)
 Add to MetaCart
(Show Context)
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...