ABSTRACT
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.
- Anceaume E., Hélary J.-M. and Raynal M., Tracking Immediate Predecessors in Distributed Computations. Res. Report #1344, IRISA, Univ. Rennes (France), 2001.]]Google Scholar
- Baldoni R., Prakash R., Raynal M. and Singhal M., Efficient Δ-Causal Broadcasting. Journal of Computer Systems Science and Engineering, 13(5):263--270, 1998.]]Google Scholar
- Chandy K.M. and Lamport L., Distributed Snapshots: Determining Global States of Distributed Systems, ACM Transactions on Computer Systems, 3(1):63-75, 1985.]] Google ScholarDigital Library
- Diehl C., Jard C. and Rampon J.-X., Reachability Analysis of Distributed Executions, Proc. TAPSOFT'93, Springer-Verlag LNCS 668, pp. 629--643, 1993.]] Google ScholarDigital Library
- Fidge C.J., Timestamps in Message-Passing Systems that Preserve Partial Ordering, Proc. 11th Australian Computing Conference, pp. 56--66, 1988.]]Google Scholar
- Fromentin E., Jard C., Jourdan G.-V. and Raynal M., On-the-fly Analysis of Distributed Computations, IPL, 54:267--274, 1995.]] Google ScholarDigital Library
- Fromentin E. and Raynal M., Shared Global States in Distributed Computations, JCSS, 55(3):522--528, 1997.]] Google ScholarDigital Library
- Fromentin E., Raynal M., Garg V.K. and Tomlinson A., On-the-Fly Testing of Regular Patterns in Distributed Computations. Proc. ICPP'94, Vol. 2:73--76, 1994.]] Google ScholarDigital Library
- Garg V.K., Principles of Distributed Systems, Kluwer Academic Press, 274 pages, 1996.]] Google ScholarDigital Library
- Hélary J.-M., Mostéfaoui A., Netzer R.H.B. and Raynal M., Communication-Based Prevention of Useless Ckeckpoints in Distributed Computations. Distributed Computing, 13(1):29--43, 2000.]] Google ScholarDigital Library
- Hélary J.-M., Melideo G. and Raynal M., Tracking Causality in Distributed Systems: a Suite of Efficient Protocols. Proc. SIROCCO'00, Carleton University Press, pp. 181--195, L'Aquila (Italy), June 2000.]]Google Scholar
- Hélary J.-M., Netzer R. and Raynal M., Consistency Issues in Distributed Checkpoints. IEEE TSE, 25(4):274-281, 1999.]] Google ScholarDigital Library
- Hurfin M., Mizuno M., Raynal M. and Singhal M., Efficient Distributed Detection of Conjunction of Local Predicates in Asynch Computations. IEEE TSE, 24(8):664--677, 1998.]] Google ScholarDigital Library
- Lamport L., Time, Clocks and the Ordering of Events in a Distributed System. Comm. ACM, 21(7):558-565, 1978.]] Google ScholarDigital Library
- Marzullo K. and Sabel L., Efficient Detection of a Class of Stable Properties. Distributed Computing, 8(2):81--91, 1994.]] Google ScholarDigital Library
- Mattern F., Virtual Time and Global States of Distributed Systems. Proc. Int. Conf. Parallel and Distributed Algorithms, (Cosnard, Quinton, Raynal, Robert Eds), North-Holland, pp. 215--226, 1988.]]Google Scholar
- Prakash R., Raynal M. and Singhal M., An Adaptive Causal Ordering Algorithm Suited to Mobile Computing Environment. JPDC, 41:190--204, 1997.]] Google ScholarDigital Library
- Raynal M. and Singhal S., Logical Time: Capturing Causality in Distributed Systems. IEEE Computer, 29(2):49-57, 1996.]] Google ScholarDigital Library
- Singhal M. and Kshemkalyani A., An Efficient Implementation of Vector Clocks. IPL, 43:47--52, 1992.]] Google ScholarDigital Library
- Wang Y.M., Consistent Global Checkpoints That Contain a Given Set of Local Checkpoints. IEEE TOC, 46(4):456--468, 1997.]] Google ScholarDigital Library
Index Terms
Tracking immediate predecessors in distributed computations
Recommendations
Efficient Causality-Tracking Timestamping
Vector clocks are the appropriate mechanism used to track causality among the events produced by a distributed computation. Traditional implementations of vector clocks require application messages to piggyback a vector of nintegers (where n is the ...
Efficient computation of happens-before relation for event-driven programs
ISSTA 2017: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and AnalysisAn emerging style of programming is to use both threads and events to achieve better scalability. The improved scalability comes at the price of increased complexity, as both threads and events can follow non-deterministic schedules. The happens-before (...
Efficient dependency tracking for relevant events in concurrent systems
In a concurrent system with N processes, vector clocks of size N are used for tracking dependencies between the events. Using vectors of size N leads to scalability problems. Moreover, association of components with processes makes vector clocks ...
Comments