Advertisement

Logical Time in Asynchronous Distributed Systems

  • Michel Raynal

Abstract

This chapter is on the association of consistent dates with events, local states, or global states of a distributed computation. Consistency means that the dates generated by a dating system have to be in agreement with the “causality” generated by the considered distributed execution. According to the view of a distributed execution we are interested in, this causality is the causal precedence order on events (relation \(\stackrel{ev}{\longrightarrow}\)), the causal precedence order on local states (relation \(\stackrel{\sigma}{\longrightarrow}\)), or the reachability relation in the lattice of global states (relation \(\stackrel{\varSigma }{\longrightarrow}\)), all introduced in the previous chapter. In all cases, this means that the date of a “cause” has to be earlier than the date of any of its “effects”. As we consider time-free asynchronous distributed systems, these dates cannot be physical dates. (Moreover, even if processes were given access to a global physical clock, the clock granularity should be small enough to always allow for a consistent dating.)

Three types of logical time are presented, namely, scalar (or linear) time, vector time, and matrix time. Each type of time is defined, its properties are stated, and illustrations showing how to use it are presented.

Keywords

Adaptive communication layer Approximate causality relation Causal precedence Causality tracking Conjunction of stable local predicates Detection of a global state property Discarding old data Hasse diagram Immediate predecessor Linear (scalar) time (clock) Logical time Matrix time (clock) Message stability Partial (total) order Relevant event k-Restricted vector clock Sequential observation Size of a vector clock Timestamp Time propagation Total order broadcast Vector time (clock) 

References

  1. 6.
    A. Agarwal, V.K. Garg, Efficient dependency tracking for relevant events in concurrent systems. Distrib. Comput. 19(3), 163–183 (2007) MathSciNetCrossRefGoogle Scholar
  2. 8.
    D. Agrawal, A. Malpini, Efficient dissemination of information in computer networks. Comput. J. 34(6), 534–541 (1991) CrossRefGoogle Scholar
  3. 17.
    E. Anceaume, J.-M. Hélary, M. Raynal, Tracking immediate predecessors in distributed computations, in Proc. 14th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA’002) (ACM Press, New York, 2002), pp. 210–219 Google Scholar
  4. 18.
    E. Anceaume, J.-M. Hélary, M. Raynal, A note on the determination of the immediate predecessors in a distributed computation. Int. J. Found. Comput. Sci. 13(6), 865–872 (2002) zbMATHCrossRefGoogle Scholar
  5. 23.
    H. Attiya, J.L. Welch, Sequential consistency versus linearizability. ACM Trans. Comput. Syst. 12(2), 91–122 (1994) CrossRefGoogle Scholar
  6. 37.
    R. Baldoni, G. Melideo, k-dependency vectors: a scalable causality-tracking protocol, in Proc. 11th Euromicro Workshop on Parallel, Distributed and Network-Based Processing (PDP’03) (2003), pp. 219–226 Google Scholar
  7. 40.
    R. Baldoni, M. Raynal, Fundamentals of distributed computing: a practical tour of vector clock systems. IEEE Distrib. Syst. Online 3(2), 1–18 (2002) Google Scholar
  8. 53.
    K. Birman, T. Joseph, Reliable communication in the presence of failures. ACM Trans. Comput. Syst. 5(1), 47–76 (1987) CrossRefGoogle Scholar
  9. 86.
    B. Charron-Bost, Concerning the size of logical clocks in distributed systems. Inf. Process. Lett. 39, 11–16 (1991) MathSciNetzbMATHCrossRefGoogle Scholar
  10. 108.
    Cl. Diehl, Cl. Jard, Interval approximations of message causality in distributed executions, in Proc. 9th Annual Symposium on Theoretical Aspects of Computer Science (STACS’92). LNCS, vol. 577 (Springer, Berlin, 1992), pp. 363–374 Google Scholar
  11. 124.
    C.J. Fidge, Timestamp in message passing systems that preserves partial ordering, in Proc. 11th Australian Computing Conference (1988), pp. 56–66 Google Scholar
  12. 125.
    C.J. Fidge, Logical time in distributed computing systems. IEEE Comput. 24(8), 28–33 (1991) CrossRefGoogle Scholar
  13. 126.
    C.J. Fidge, Limitation of vector timestamps for reconstructing distributed computations. Inf. Process. Lett. 68, 87–91 (1998) CrossRefGoogle Scholar
  14. 127.
    M.J. Fischer, A. Michael, Sacrificing serializability to attain high availability of data, in Proc. First ACM Symposium on Principles of Database Systems (PODS’82) (ACM Press, New York, 1882), pp. 70–75 Google Scholar
  15. 129.
    J. Fowler, W. Zwaenepoel, Causal distributed breakpoints, in Proc. 10th Int’l IEEE Conference on Distributed Computing Systems (ICDCS’90) (IEEE Press, New York, 1990), pp. 134–141 Google Scholar
  16. 149.
    V.K. Garg, Principles of Distributed Systems (Kluwer Academic, Dordrecht, 1996), 274 pages CrossRefGoogle Scholar
  17. 152.
    V.K. Garg, S. Skawratananond, N. Mittal, Timestamping messages and events in a distributed system using synchronous communication. Distrib. Comput. 19(5–6), 387–402 (2007) zbMATHCrossRefGoogle Scholar
  18. 181.
    J.-M. Hélary, M. Raynal, G. Melideo, R. Baldoni, Efficient causality-tracking timestamping. IEEE Trans. Knowl. Data Eng. 15(5), 1239–1250 (2003) CrossRefGoogle Scholar
  19. 198.
    Cl. Jard, G.-V. Jourdan, Incremental transitive dependency tracking in distributed computations. Parallel Process. Lett. 6(3), 427–435 (1996) CrossRefGoogle Scholar
  20. 199.
    J. Jefferson, Virtual time. ACM Trans. Program. Lang. Syst. 7(3), 404–425 (1985) MathSciNetCrossRefGoogle Scholar
  21. 226.
    L. Lamport, Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978) zbMATHCrossRefGoogle Scholar
  22. 238.
    B. Liskov, R. Ladin, Highly available distributed services and fault-tolerant distributed garbage collection, in Proc. 5th ACM Symposium on Principles of Distributed Computing (PODC’86) (ACM Press, New York, 1986), pp. 29–39 CrossRefGoogle Scholar
  23. 250.
    F. Mattern, Virtual time and global states of distributed systems, in Proc. Parallel and Distributed Algorithms Conference, ed. by M. Cosnard, P. Quinton, M. Raynal, Y. Robert (North-Holland, Amsterdam, 1988), pp. 215–226 Google Scholar
  24. 263.
    J. Misra, Distributed discrete event simulation. ACM Comput. Surv. 18(1), 39–65 (1986) CrossRefGoogle Scholar
  25. 290.
    D.S. Parker, G.L. Popek, G. Rudisin, L. Stoughton, B.J. Walker, E. Walton, J.M. Chow, D.A. Edwards, S. Kiser, C.S. Kline, Detection of mutual inconsistency in distributed systems. IEEE Trans. Softw. Eng. SE9(3), 240–246 (1983) CrossRefGoogle Scholar
  26. 300.
    R. Prakash, M. Singhal, Dependency sequences and hierarchical clocks: efficient alternatives to vector clocks for mobile computing systems. Wirel. Netw. 3(5), 349–360 (1997) CrossRefGoogle Scholar
  27. 307.
    M. Raynal, A distributed algorithm to prevent mutual drift between n logical clocks. Inf. Process. Lett. 24, 199–202 (1987) MathSciNetzbMATHCrossRefGoogle Scholar
  28. 312.
    M. Raynal, Illustrating the use of vector clocks in property detection: an example and a counter-example, in Proc. 5th European Conference on Parallelism (EUROPAR’99). LNCS, vol. 1685 (Springer, Berlin, 1999), pp. 806–814 Google Scholar
  29. 325.
    M. Raynal, S. Singhal, Logical time: capturing causality in distributed systems. IEEE Comput. 29(2), 49–57 (1996) CrossRefGoogle Scholar
  30. 334.
    S.K. Sarin, N.A. Lynch, Discarding obsolete information in a replicated database system. IEEE Trans. Softw. Eng. 13(1), 39–46 (1987) CrossRefGoogle Scholar
  31. 338.
    F. Schmuck, The use of efficient broadcast in asynchronous distributed systems. Doctoral Dissertation, Tech. Report TR88-928, Dept of Computer Science, Cornell University, 124 pages, 1988 Google Scholar
  32. 340.
    R. Schwarz, F. Mattern, Detecting causal relationships in distributed computations: in search of the Holy Grail. Distrib. Comput. 7, 149–174 (1994) zbMATHCrossRefGoogle Scholar
  33. 350.
    M. Singhal, A.D. Kshemkalyani, An efficient implementation of vector clocks. Inf. Process. Lett. 43, 47–52 (1992) zbMATHCrossRefGoogle Scholar
  34. 360.
    R.E. Strom, S. Yemini, Optimistic recovery in distributed systems. ACM Trans. Comput. Syst. 3(3), 204–226 (1985) CrossRefGoogle Scholar
  35. 370.
    F.J. Torres-Rojas, M. Ahamad, Plausible clocks: constant size logical clocks for distributed systems. Distrib. Comput. 12(4), 179–195 (1999) CrossRefGoogle Scholar
  36. 390.
    G.T.J. Wuu, A.J. Bernstein, Efficient solutions to the replicated log and dictionary problems, in Proc. 3rd Annual ACM Symposium on Principles of Distributed Computing (PODC’84) (ACM Press, New York, 1984), pp. 233–242 CrossRefGoogle Scholar
  37. 394.
    L.-Y. Yen, T.-L. Huang, Resetting vector clocks in distributed systems. J. Parallel Distrib. Comput. 43, 15–20 (1997) CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michel Raynal
    • 1
  1. 1.Institut Universitaire de France IRISA-ISTICUniversité de Rennes 1Rennes CedexFrance

Personalised recommendations