Efficient detection of a locally stable predicate in a distributed system

  • Authors:
  • Ranganath Atreya;Neeraj Mittal;Ajay D. Kshemkalyani;Vijay K. Garg;Mukesh Singhal

  • Affiliations:
  • Web Services Technologies, Amazon.com, Inc., Seattle, WA 98101, USA;Department of Computer Science, The University of Texas at Dallas, Richardson, TX 75083, USA;Department of Computer Science, University of Illinois at Chicago, Chicago, IL 60607, USA;Electrical and Computer Engineering Department, The University of Texas at Austin, Austin, TX 78712, USA;Department of Computer Science, The University of Kentucky, Lexington, KY 40506, USA

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present an efficient approach to detect a locally stable predicate in a distributed computation. Examples of properties that can be formulated as locally stable predicates include termination and deadlock of a subset of processes. Our algorithm does not require application messages to be modified to carry control information (e.g., vector timestamps), nor does it inhibit events (or actions) of the underlying computation. The worst-case message complexity of our algorithm is O(n(m+1)), where n is the number of processes in the system and m is the number of events executed by the underlying computation. We show that, in practice, its message complexity should be much lower than its worst-case message complexity. The detection latency of our algorithm is O(d) time units, where d is the diameter of communication topology. Our approach also unifies several known algorithms for detecting termination and deadlock. We also show that our algorithm for detecting a locally stable predicate can be used to efficiently detect a stable predicate that is a monotonic function of other locally stable predicates.