Tracking immediate predecessors in distributed computations

A distributed computation is usually modeled as a partially ordered set of relevant events (the relevant events are a subset of the primitive events produced by the computation). An important causality-related distributed computing problem, that we call the Immediate Predecessors Tracking (IPT) problem, consists in associating with each relevant event, on the fly and without using additional control messages, the set of relevant events that are its immediate predecessors in the partial order. So, IPT is the on-the-fly computation of the transitive reduction (i.e., Hasse diagram) of the causality relation defined by a distributed computation. This paper addresses the IPT problem: it presents a family of protocols that provides each relevant event with a timestamp that exactly identifies its immediate predecessors. The family is defined by a general condition that allows application messages to piggyback control information whose size can be smaller than $n$ (the number of processes). In that sense, this family defines message size-efficient IPT protocols. According to the way the general condition is implemented, different IPT protocols can be obtained. Two of them are exhibited.

[1]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

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

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

[4]  Mukesh Singhal,et al.  Logical Time: Capturing Causality in Distributed Systems , 1996, Computer.

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

[6]  Achour Mostéfaoui,et al.  Communication-based prevention of useless checkpoints in distributed computations , 2000, Distributed Computing.

[7]  Ajay D. Kshemkalyani,et al.  An Efficient Implementation of Vector Clocks , 1992, Inf. Process. Lett..

[8]  Michel Raynal,et al.  Consistency Issues in Distributed Checkpoints , 1999, IEEE Trans. Software Eng..

[9]  Mukesh Singhal,et al.  Efficient Δ-causal broadcasting , 1998 .

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

[11]  Michel Raynal,et al.  On-The-Fly Analysis of Distributed Computations , 1995, Inf. Process. Lett..

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

[13]  Yin-Min Wang,et al.  Consistent Global checkpoints that Contain a Given Set of Local Chekpoints , 1997, IEEE Trans. Computers.

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

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

[16]  Michel Raynal,et al.  Tracking causality in distributed systems: a suite of efficient protocols , 2000, SIROCCO.

[17]  Mukesh Singhal,et al.  An Adaptive Causal Ordering Algorithm Suited to Mobile Computing Environments , 1997, J. Parallel Distributed Comput..

[18]  Vijay K. Garg,et al.  Principles of Distributed Systems , 1995, Springer US.