Results 1 - 10
of
21
Detection of global predicates: Techniques and their limitations
- Distributed Computing
, 1998
"... We show that the problem of predicate detection in distributed systems is NP-complete. In the past, efficient algorithms have been developed for special classes of predicates such as stable predicates, observer-independent 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 NP-complete. In the past, efficient algorithms have been developed for special classes of predicates such as stable predicates, observer-independent predicates, and conjunctive predicates. We introduce a class of predicates, semi-linear predicates, which properly contains all of the above classes. We first discuss stable, observer-independent and semi-linear 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 non-deterministic, detection algorithm for each class of predicate. We show that each class can be equivalently characterized by the degree of non-determinism 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 non-determinism in this algorithm.
On detecting global predicates in distributed computations
- In Proceedings of the 21st IEEE International Conference on Distributed Computing Systems (ICDCS
, 2001
"... Monitoring of global predicates is a fundamental problem in asynchronous distributed systems. This problem arises in various contexts such as design, testing and debugging, and fault-tolerance of distributed programs. In this paper, we establish that the problem of determining whether there exists a ..."
Abstract
-
Cited by 23 (10 self)
- Add to MetaCart
(Show Context)
Monitoring of global predicates is a fundamental problem in asynchronous distributed systems. This problem arises in various contexts such as design, testing and debugging, and fault-tolerance of distributed programs. In this paper, we establish that the problem of determining whether there exists a consistent cut of a computation that satisfies a predicate in ¡-CNF, ¡£¢¥ ¤ , in which no two clauses contain variables from the same process is NP-complete in general. A polynomial-time algorithm to find the consistent cut, if it exists, that satisfies the predicate for special cases is provided. We also give algorithms albeit exponential that can be used to achieve an exponential reduction in time over existing techniques for solving the general version. Furthermore, we present an algorithm to determine whether there exists a consistent cut of a computation for which the ¦¨§�©�¦���©�������©�¦� � sum exactly equals some con-stant ¡, where each ¦� � is an integer variable on process �¨� such that it is incremented or decremented by at most one at each step. As a corollary, any symmetric global predicate on boolean variables such as absence of simple majority and exclusive-or of local predicates can now be detected. Additionally, the problem is proved to be NP-complete if each ¦� � can be changed by an arbitrary amount at each step. Our results solve the previously open problems in predicate detection proposed in [7] and bridge the wide gap between the known tractability and intractability results that existed until now. 1.
Computation Slicing: Techniques and Theory
- In Proceedings of the Symposium on Distributed Computing (DISC
, 2001
"... Abstract. We generalize the notion of slice introduced in our earlier paper [6]. A slice of a distributed computation with respect to a global predicate is the smallest computation that contains all consistent cuts of the original computation that satisfy the predicate. We prove that slice exists fo ..."
Abstract
-
Cited by 23 (10 self)
- Add to MetaCart
Abstract. We generalize the notion of slice introduced in our earlier paper [6]. A slice of a distributed computation with respect to a global predicate is the smallest computation that contains all consistent cuts of the original computation that satisfy the predicate. We prove that slice exists for all global predicates. We also establish that it is, in general, NP-complete to compute the slice. An optimal algorithm to compute slices for special cases of predicates is provided. Further, we present an efficient algorithm to graft two slices, that is, given two slices, either compute the smallest slice that contains all consistent cuts that are common to both slices or compute the smallest slice that contains all consistent cuts that belong to at least one of the slices. We give application of slicing in general and grafting in particular to global property evaluation of distributed programs. Finally, we show that the results pertaining to consistent global checkpoints [14, 18] can be derived as special cases of computation slicing. 1
Techniques to Tackle State Explosion in Global Predicate Detection
- IEEE Transactions on Software Engineering
, 2001
"... AbstractÐGlobal predicate detection, which is an important problem in testing and debugging distributed programs, is very hard due to the combinatorial explosion of the global state space. This paper presents several techniques to tackle the state explosion problem in detecting whether an arbitrary ..."
Abstract
-
Cited by 22 (0 self)
- Add to MetaCart
(Show Context)
AbstractÐGlobal predicate detection, which is an important problem in testing and debugging distributed programs, is very hard due to the combinatorial explosion of the global state space. This paper presents several techniques to tackle the state explosion problem in detecting whether an arbitrary predicate is true at some consistent global state of a distributed system. We present space efficient on-line algorithms for detecting. We then improve the performance of our algorithms, both in space and time, by increasing the granularity of the execution step from an event to a sequence of events in each process. Index TermsÐDistributed systems, global states, global predicates, lattice, space complexity, global intervals. 1
Detecting global predicates in distributed systems with clocks
- In Proceedings of the 11th International Workshop on Distributed Algorithms (WDAG’97
, 1997
"... This paper proposes a framework for detecting global state predicates in systems of processes with approximately-synchronized real-time clocks. Timestamps from these clocks are used to de ne two orderings on events: \de nitely occurred before " and \possibly occurred before". These ..."
Abstract
-
Cited by 20 (2 self)
- Add to MetaCart
This paper proposes a framework for detecting global state predicates in systems of processes with approximately-synchronized real-time clocks. Timestamps from these clocks are used to de ne two orderings on events: \de nitely occurred before " and \possibly occurred before". These orderings lead naturally to de nitions of 3 distinct detection modalities, i.e., 3 meanings of \predicate held during a computation", namely: Poss db db! ( \ possibly held"), Def! ( \ de nitely held"), and Inst ( \ de nitely held in a speci c global state"). This paper de nes these modalities and gives e cient algorithms for detecting them. The algorithms are based on algorithms of Garg and Waldecker, Alagar and Venkatesan, Cooper and Marzullo, and Fromentin and Raynal. Complexity analysis shows that under reasonable assumptions, these real-time-clock-based detection algorithms are less expensive thandetection algorithms based on Lamport's happened-before ordering. Sample applications are given to illustrate the bene ts of this approach. Key words: global predicate detection, consistent global states, distributed debugging, realtime monitoring 1
Efficient Detection of Global Properties in Distributed Systems Using Partial-Order Methods
- IN PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON COMPUTER-AIDED 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 general-purpose 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 general-purpose 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 off-line detection of properties, and compare its performance to the enumeration-based algorithm of Alagar & Venkatesan. In typical cases, the new algorithm is signi cantly faster. We have measured over 400-fold speedup in some cases.
Detecting temporal logic predicates in distributed programs using computation slicing
- IN: 7TH INTERNATIONAL CONFERENCE ON PRINCIPLES OF DISTRIBUTED SYSTEMS
, 2003
"... We examine the problem of detecting nested temporal predicates given the execution trace of a distributed program. We present a technique that allows efficient detection of a reasonably large class of predicates which we call the Basic Temporal Logic or BTL. Examples of valid BTL predicates are ne ..."
Abstract
-
Cited by 17 (5 self)
- Add to MetaCart
We examine the problem of detecting nested temporal predicates given the execution trace of a distributed program. We present a technique that allows efficient detection of a reasonably large class of predicates which we call the Basic Temporal Logic or BTL. Examples of valid BTL predicates are nested temporal predicates based on local variables with arbitrary negations, disjunctions, conjunctions and the possibly (EF or ♦) and invariant(AG or ✷) temporal operators. We introduce the concept of a basis, a compact representation of all global cuts which satisfy the predicate. We present an algorithm to compute a basis of a computation given any BTL predicate and prove that its time complexity is polynomial with respect to the number of processes and events in the trace although it is not polynomial in the size of the formula. We do not know of any other technique which detects a similar class of predicates with a time complexity that is polynomial in the number of processes and events in the system. We have implemented a predicate detection toolkit based on our algorithm that accepts offline traces from any distributed program.
Efficient Distributed Detection of Conjunctions of Local Predicates in Asynchronous Computations
- In Proceedings of the 8th IEEE Symposium on Parallel and Distributed Processing (SPDP
, 1995
"... Global predicate detection is a fundamental problem... ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
Global predicate detection is a fundamental problem...
Observation and Control for Debugging Distributed Computations
- In Proceedings of the International Workshop on Automated Debugging (AADEBUG
, 1997
"... Ipresent a general framework for observing and controlling a distributedcomputation and its applications to distributed debugging. Algorithms for observation are useful in distributed debugging to stop a distributed program under certain undesirable global conditions. Ipresent the main ideas require ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
(Show Context)
Ipresent a general framework for observing and controlling a distributedcomputation and its applications to distributed debugging. Algorithms for observation are useful in distributed debugging to stop a distributed program under certain undesirable global conditions. Ipresent the main ideas required for developing e cient algorithms for observation. Algorithms for control are useful in debugging to restrict the behavior of the distributed program to suspicious executions. It is also useful when a programmer wants to test a distributed program under certain conditions. I present di erent models and their limitations for controlling distributed computations. 1
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 fault-tolerance 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 9 (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 fault-tolerance 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.