Detecting Locally Stable Predicates Without Modifying Application Messages

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.

[1]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[2]  Jayadev Misra,et al.  Detecting termination of distributed computations using markers , 1983, PODC '83.

[3]  B. R. Badrinath,et al.  Recording Distributed Snapshots Based on Causal Order of Message Delivery , 1992, Inf. Process. Lett..

[4]  Ten-Hwang Lai,et al.  On Distributed Snapshots , 1987, Inf. Process. Lett..

[5]  Gideon Stupp,et al.  Stateless Termination Detection , 2002, DISC.

[6]  Correct two-phase and one-phase deadlock detection algorithms for distributed systems , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[7]  Michel Raynal,et al.  Inevitable global states: a concept to detect unstable properties of distributed computations in an observer independent way , 1994, Proceedings of 1994 6th IEEE Symposium on Parallel and Distributed Processing.

[8]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[9]  Michel Raynal,et al.  Towards the construction of distributed detection programs, with an application to distributed termination , 1994, Distributed Computing.

[10]  Gerard Tel,et al.  Introduction to Distributed Algorithms: Contents , 2000 .

[11]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[12]  Friedemann Mattern,et al.  Algorithms for distributed termination detection , 1987, Distributed Computing.

[13]  Mukesh Singhal,et al.  Deadlock Models and a General Algorithm for Distributed Deadlock Detection , 1995, J. Parallel Distributed Comput..

[14]  Michel Raynal,et al.  Detection of stable properties in distributed applications , 1987, PODC '87.

[15]  Susanne E. Hambrusch,et al.  Termination detection in data-driven parallel computations/applications , 2003, J. Parallel Distributed Comput..

[16]  Keith Marzullo,et al.  Efficient detection of a class of stable properties , 1994, Distributed Computing.

[17]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[18]  Subbarayan Venkatesan,et al.  An Optimal Algorithm for Distributed Snapshots with Causal Message Ordering , 1994, Inf. Process. Lett..

[19]  C. V. Ramamoorthy,et al.  Protocols for Deadlock Detection in Distributed Database Systems , 1982, IEEE Transactions on Software Engineering.

[20]  Gerard Tel,et al.  Global virtual time approximation with distributed termination detection algorithms , 1991 .