Detecting global predicates in distributed systems with clocks

Summary. 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 define two orderings on events: “definitely occurred before” and “possibly occurred before”. These orderings lead naturally to definitions of 3 distinct detection modalities, i.e., 3 meanings of “predicate $\Phi$ held during a computation”, namely: $\mathop{\bf Poss}^{\stackrel{{\it db}}{rightarrow}}\Phi$ (“$\Phi$ possibly held”), $\mathop{\bf Def}^{\stackrel{{\it db}}{\rightarrow}}\Phi$ (“$\Phi$ definitely held”), and $\mathop{\bf Inst}\Phi$ (“$\Phi$ definitely held in a specific global state”). This paper defines these modalities and gives efficient 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 than detection algorithms based on Lamport's happened-before ordering. Sample applications are given to illustrate the benefits of this approach.

[1]  Michel Raynal,et al.  Specification and Verification of Behavioral Patterns in Distributed Computations , 1995 .

[2]  Yanhong A. Liu,et al.  Efficient Symbolic Detection of Global Properties in Distributed Systems , 1998, CAV.

[3]  Paulo Veríssimo,et al.  Real-time communication , 1993 .

[4]  Mukesh Singhal,et al.  Efficient Distributed Detection of Conjunctions of Local Predicates , 1998, IEEE Trans. Software Eng..

[5]  Michel Raynal,et al.  Shared Global States in Distributed Computations , 1997, J. Comput. Syst. Sci..

[6]  Ozalp Babaoglu,et al.  Consistent global states of distributed systems: fundamental concepts and mechanisms , 1993 .

[7]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[8]  Fred B. Schneider,et al.  Faster Possibility Detection by Combining Two Approaches , 1995, WDAG.

[9]  Barton P. Miller,et al.  Summary of ACM/ONR workshop on parallel and distributed debugging , 1992, OPSR.

[10]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[11]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[12]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[13]  Michel Raynal,et al.  Specification and Verification of Dynamic Properties in Distributed Computations , 1995, J. Parallel Distributed Comput..

[14]  Michel Raynal,et al.  On the Fly Testing of Regular Patterns in Distributed Computations , 1994, 1994 Internatonal Conference on Parallel Processing Vol. 2.

[15]  Carole Delporte-Gallet,et al.  Local and temporal predicates in distributed systems , 1995, TOPL.

[16]  Lhouari Nourine,et al.  Linear Space Algorithm for On-line Detection of Global Predicates , 1995, STRICT.

[17]  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.

[18]  Michel Raynal,et al.  Detecting atomic sequences of predicates in distributed computations , 1993, PADD '93.

[19]  Jean Mayo,et al.  Global predicates in rough real time , 1995, Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing.

[20]  Vijay K. Garg,et al.  Detection of Strong Unstable Predicates in Distributed Programs , 1996, IEEE Trans. Parallel Distributed Syst..

[21]  Barbara Liskov,et al.  Practical uses of synchronized clocks in distributed systems , 1991, PODC '91.

[22]  Peter B. Galvin,et al.  Operating System Concepts, 4th Ed. , 1993 .

[23]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation and Analysis , 1992, RFC.

[24]  Leslie Lamport,et al.  Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. , 1984, TOPL.

[25]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[26]  David L. Mills Improved algorithms for synchronizing computer network clocks , 2001 .

[27]  Jean-Xavier Rampon,et al.  Reachability Analysis on Distributed Executions , 1993, TAPSOFT.

[28]  Vijay K. Garg,et al.  Efficient Detection of Channel Predicates in Distributed Systems , 1997, J. Parallel Distributed Comput..

[29]  Keith Marzullo,et al.  Detection of Global State Predicates , 1991, WDAG.

[30]  Vijay K. Garg,et al.  Detection of Weak Unstable Predicates in Distributed Programs , 1994, IEEE Trans. Parallel Distributed Syst..

[31]  Keith Marzullo,et al.  Consistent detection of global predicates , 1991, PADD '91.

[32]  Michel Raynal,et al.  Characterizing and detecting the set of global states seen by all observers of a distributed computation , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[33]  David L. Mills,et al.  Improved algorithms for synchronizing computer network clocks , 1995, TNET.

[34]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[35]  Leslie Lamport,et al.  The mutual exclusion problem: part I—a theory of interprocess communication , 1986, JACM.

[36]  Vijay K. Garg,et al.  Detection of global predicates: Techniques and their limitations , 1998, Distributed Computing.

[37]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation , 1992 .

[38]  Scott D. Stoller Detecting Global Predicates in Distributed Systems with Clocks , 1997, WDAG.

[39]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..