Consistency as a Branching Time Notion
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  and Lai/Yang  and a recent snapshot algorithm for data stream processing systems .
KeywordsSnapshot Consistency Distributed systems
- 2.Babaoglu, Ö., Marzullo, K.: Consistent global states of distributed systems: fundamental concepts and mechanisms. Distrib. Syst. 53 (1993)Google Scholar
- 6.Castellani, I.: Process algebras with localities. In: Handbook of Process Algebra. North-Holland (2001)Google Scholar
- 8.Carbone, P., Fora, G., Ewen, S., Haridi, S., Tzoumas, K.: Leightweight asynchronous snapshots for distributed dataflows. arXiv preprint arXiv:1506.08603 (2015)
- 11.Kiehn, A., Mittal, A.: Partial snapshotting: checkpoint dissemination and termination. Technical report TR-IITMANDI-2018-1, IIT Mandi (2018)Google Scholar
- 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). https://doi.org/10.1007/978-3-642-45249-9_9CrossRefGoogle Scholar
- 16.Pattathurajan, M.: Expresssing linear-time properties of distributed algorithms in a branching-time setting. MSc thesis, IIT Mandi (2018)Google Scholar