Chapter

Principles of Distributed Systems

Volume 3144 of the series Lecture Notes in Computer Science pp 20-33

Detecting Locally Stable Predicates Without Modifying Application Messages

  • Ranganath AtreyaAffiliated withDepartment of Computer Science, The University of Texas at Dallas
  • , Neeraj MittalAffiliated withDepartment of Computer Science, The University of Texas at Dallas
  • , Vijay K. GargAffiliated withDepartment of Electrical and Computer Engineering, The University of Texas at Austin

* Final gross prices may vary according to local VAT.

Get Access

Abstract

In this paper, we give an efficient algorithm to determine whether a locally stable predicate has become true in an underlying computation. Examples of locally stable predicates include termination and deadlock. 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. Once the predicate becomes true, the detection latency (or delay) of our algorithm is proportional to the time-complexity of computing a (possibly inconsistent) snapshot of the system. Moreover, only O(n) control messages are required to detect the predicate once it holds, where n is the number of processes.