On Detecting Global Predicates in Distributed Computations

  • Authors:
  • Affiliations:
  • Venue:
  • ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Abstract: 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 k-CNF, k \geq 2, 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 x_1 +x_2 + +x_n exactly equals some constant k, where each x_i is an integer variable on process p_i 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 x_i 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.