Consistency as a Branching Time Notion

  • Astrid KiehnEmail author
  • Mohnish Pattathurajan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11436)


Superposed on a distributed computation, a snapshot algorithm computes a global state, the so-called snapshot, consistent with the underlying computation. On intuive grounds it can be argued that the snapshot is a global state which would have been obtained when processes would have been frozen at the time their local states were recorded (their checkpoints). This interpretation is stronger than consistency as it also considers the nondeterministic behaviour of processes up to their checkpoints.

In this paper, we provide a formal setup to study the latter interpretation. In particular, we introduce the notion of a freeze bisimulation which allows us to express the above intuition formally as progressive bi-consistency. This definition does not only capture branching time behaviour but also applies to snapshot algorithms that compute a partial snaphshot and of which the intermediate behaviour is of equal interest as the final snapshot (eg in case of approximations or eventual consistency). We establish fundamental properties of progressive bi-consistency which includes a theorem similar to the CAP theorem for distributed databases: it is impossible to have a partial snapshot algorithm which computes a minimal number of checkpoints, is progressively bi-consistent and non-inhibiting at the same time.

We illustrate our results by evaluating snapshot algorithms modelled in Milner’s process algebra CCS. This includes the seminal algorithms by Chand/Lamport [9] and Lai/Yang [14] and a recent snapshot algorithm for data stream processing systems [8].


Snapshot Consistency Distributed systems 


  1. 1.
    Andriamiarina, M.B., Mery, D., Singh, N.K.: Revisiting snapshot algorithms by refinement-based techniques. Comput. Sci. Inf. Syst. 11, 251–270 (2014)CrossRefGoogle Scholar
  2. 2.
    Babaoglu, Ö., Marzullo, K.: Consistent global states of distributed systems: fundamental concepts and mechanisms. Distrib. Syst. 53 (1993)Google Scholar
  3. 3.
    Boudol, G., Castellani, I., Hennessy, M., Kiehn, A.: Observing localities. Theor. Comput. Sci. 114(1), 31–61 (1993)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Cao, G., Singhal, M.: Checkpointing with mutable checkpoints. Theor. Comput. Sci. 290(2), 1127–1148 (2003)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Cao, G., Singhal, M.: On coordinated checkpointing in distributed systems. IEEE Trans. Parallel Distrib. Syst. 9(12), 1213–1225 (1998)CrossRefGoogle Scholar
  6. 6.
    Castellani, I.: Process algebras with localities. In: Handbook of Process Algebra. North-Holland (2001)Google Scholar
  7. 7.
    Carbone, P., Ewen, S., Fora, G., Heif, S., Richter, S., Tzoumas, K.: State management in Apache Flink - consistent stateful distributed stream processing. VLDB Endowment 10(12), 1718–1729 (2017)CrossRefGoogle Scholar
  8. 8.
    Carbone, P., Fora, G., Ewen, S., Haridi, S., Tzoumas, K.: Leightweight asynchronous snapshots for distributed dataflows. arXiv preprint arXiv:1506.08603 (2015)
  9. 9.
    Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. (TOCS) 3(1), 63–75 (1985)CrossRefGoogle Scholar
  10. 10.
    Kiehn, A., Aggarwal, D.: A study of mutable checkpointing and related algorithms. Sci. Comput. Program. 160, 78–92 (2018)CrossRefGoogle Scholar
  11. 11.
    Kiehn, A., Mittal, A.: Partial snapshotting: checkpoint dissemination and termination. Technical report TR-IITMANDI-2018-1, IIT Mandi (2018)Google Scholar
  12. 12.
    Kiehn, A., Raj, P., Singh, P.: A causal checkpointing algorithm for mobile computing environments. In: Chatterjee, M., Cao, J., Kothapalli, K., Rajsbaum, S. (eds.) ICDCN 2014. LNCS, vol. 8314, pp. 134–148. Springer, Heidelberg (2014). Scholar
  13. 13.
    Kshemkalyani, A.D., Singhal, M.: Distributed Computing: Principles, Algorithms, and Systems. Cambridge University Press, Cambridge (2008)CrossRefGoogle Scholar
  14. 14.
    Lai, T.H., Yang, T.H.: On distributed snapshots. Inf. Process. Lett. 25, 153–158 (1987)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Milner, R.: Communication and Control. Prentice Hall, Upper Saddle River (1989)zbMATHGoogle Scholar
  16. 16.
    Pattathurajan, M.: Expresssing linear-time properties of distributed algorithms in a branching-time setting. MSc thesis, IIT Mandi (2018)Google Scholar
  17. 17.
    Raynal, M.: Distributed Algorithms for Message-passing Systems. Springer, Heidelberg (2013). Scholar
  18. 18.
    Singh, P., Cabillic, G.: A checkpointing algorithm for mobile computing environment. In: Conti, M., Giordano, S., Gregori, E., Olariu, S. (eds.) PWC 2003. LNCS, vol. 2775, pp. 65–74. Springer, Heidelberg (2003). Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Indian Institute of Technology MandiMandiIndia

Personalised recommendations