Skip to main content
Log in

Timestamp system for causal broadcast communication

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In unreliable asynchronous distributed systems with failures, achieving a causal view of the system across all processes is a challenging task. The Causal Reliable Broadcast (CRB) abstraction is used to solve this task. When CRB is implemented with algorithms that use logical vector clocks to timestamp broadcast events, the causal relationships between broadcast events can be detected with maximal accuracy. However, this timestamping mechanism used by CRB might not be useful for systems that need to reason about the causal relationships among both broadcast and delivery events. To address this challenge, the paper proposes a Causal Timestamp System (CTS) based on vector clocks that timestamps broadcast and delivery events capturing with maximal accuracy the causal relationships among those events. CTS simplifies the formal verification and testing of implementations of CRB algorithms based on CTS. Additionally, a new Global State Monitoring (GSM) algorithm is proposed, tailored to a distributed system that uses CRB with CTS. GSM enables finer-grained assessment of global states and application-dependent predicates of that system. We clarify these concepts with an IoT example.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Birman KP, Joseph TA (1987) Reliable communication in the presence of failures. ACM Trans Comput Syst 5(1):47–76. https://doi.org/10.1145/7351.7478

    Article  Google Scholar 

  2. Lamport L (1978) Time, clocks, and the ordering of events in a distributed system. Commun ACM 21(7):558–565. https://doi.org/10.1145/359545.359563

    Article  Google Scholar 

  3. Lloyd W, Freedman MJ, Kaminsky M, Andersen DG (2011) Don’t settle for eventual: scalable causal consistency for wide-area storage with cops. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles. SOSP ’11, pp. 401–416. ACM, New York. https://doi.org/10.1145/2043556.2043593

  4. Baquero C, Almeida PS, Shoker A (2017) Pure operation-based replicated data types. http://arxiv.org/abs/1710.04469

  5. Fidge CJ (1988) Timestamps in message-passing systems that preserve the partial ordering. In: Proceedings \(11^{{{\rm th}}}\) Australasian Computer Science Conference, vol. 10, pp. 56–66

  6. Mattern F (1989) Virtual time and global states of distributed systems. In: Parallel and Distributed Algorithms: Proceedings of the International Workshop on Parallel and Distributed Algorithms, vol. 1. Amsterdam, the Netherlands, pp. 215–226

  7. Birman K, Schiper A, Stephenson P (1991) Lightweight causal and atomic group multicast. ACM Trans Comput Syst 9(3):272–314. https://doi.org/10.1145/128738.128742

    Article  Google Scholar 

  8. Charron-Bost B (1991) Concerning the size of logical clocks in distributed systems. Inf Process Lett 39(1):11–16. https://doi.org/10.1016/0020-0190(91)90055-M

    Article  MathSciNet  Google Scholar 

  9. Singhal M, Kshemkalyani A (1992) An efficient implementation of vector clocks. Inf Process Lett 43(1):47–52. https://doi.org/10.1016/0020-0190(92)90028-T

    Article  Google Scholar 

  10. Hadzilacos V, Toueg S (1994) A modular approach to fault-tolerant broadcasts and related problems. https://api.semanticscholar.org/CorpusID:13974342

  11. Almeida PS, Baquero C, Fonte V (2008) Interval tree clocks. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) Principles of distributed systems, pp. 259–274. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92221-6_18

  12. Auvolat A, Frey D, Raynal M, Taiani F (2021) Byzantine-tolerant causal broadcast. Theor Comput Sci 885, 55–68. https://doi.org/10.1016/j.tcs.2021.06.021

  13. Pozzetti T, Kshemkalyani AD (2020) Resettable encoded vector clock for causality analysis with an application to dynamic race detection. IEEE Trans Parallel Distrib Syst 32(4):772–785. https://doi.org/10.1109/TPDS.2020.3032293

    Article  Google Scholar 

  14. Torres-Rojas FJ, Ahamad M (1999) Plausible clocks: constant size logical clocks for distributed systems. Distrib Comput 12(4):179–195

    Article  Google Scholar 

  15. Ramabaja L (2019) The bloom clock. arXiv preprint arXiv:1905.13064

  16. Kshemkalyani AD, Misra A (2021) The bloom clock to characterize causality in distributed systems. In: Advances in networked-based information systems: the 23rd international conference on network-based information systems (NBiS-2020) 23, pp. 269–279. https://doi.org/10.1007/978-3-030-57811-4_25 . Springer

  17. Rodrigues L, Veríssimo P (1995) Causal separators for large-scale multicast communication. In: of 15th International Conference on Distributed Computing Systems (ICDCS), pp. 83–91. IEEE

  18. Baldoni R, Friedman R, Renesse R (1997) The hierarchical daisy architecture for causal delivery. In: Proceedings of 17th International Conference on Distributed Computing Systems, pp. 570–577.https://doi.org/10.1109/ICDCS.1997.603422

  19. Friedman R, Manor S (2004) Causal ordering in deterministic overlay networks. Technical report, Israel Institute of Technology, Haifa, Israel

  20. Nédelec B, Molli P, Mostéfaoui A (2018) Breaking the scalability barrier of causal broadcast for large and dynamic systems. In: 2018 IEEE 37th symposium on reliable distributed systems (SRDS), pp. 51–60. https://doi.org/10.1109/SRDS.2018.00016

  21. Attiya H, Welch J (2004) Distributed computing: fundamentals, simulations and advanced topics, \(2^{{{\rm nd}}}\) Ed., pp. 175–177. Wiley, Inc., Hoboken

  22. Raynal M (2013) Distributed algorithms for message-passing systems, sec.7.2, 7.3, 12.1 and 12.3. Springer, Berlin, Heidelberg

    Book  Google Scholar 

  23. Bouajjani A, Enea C, Guerraoui R, Hamza J (2017) On verifying causal consistency. In: Proceedings of the 44th ACM SIGPLAN symposium on principles of programming languages. POPL ’17, pp. 626–638. ACM, New York. https://doi.org/10.1145/3009837.3009888

  24. Babaoğlu O, Marzullo K (1993) Consistent global states of distributed systems: fundamental concepts and mechanisms, pp. 55–96. ACM Press/Addison-Wesley Publishing Co.

  25. Cachin C, Guerraoui R, Rodrigues L (2011) Introduction to reliable and secure distributed programming, \(2^{{{\rm nd}}}\) Ed. Springer, Berlin, Heidelberg

  26. Nieto A, Gondelman L, Reynaud A, Timany A, Birkedal L (2022) Modular verification of op-based CRDTs in separation logic. Proc ACM Program Lang. 6(OOPSLA2). https://doi.org/10.1145/3563351

  27. Redmond P, Shen G, Vazou N, Kuper L (2023) Verified causal broadcast with liquid haskell. In: Proceedings of the 34th symposium on implementation and application of functional languages. IFL ’22. ACM, New York. https://doi.org/10.1145/3587216.3587222

  28. Cugola G, Margara A (2012) Processing flows of information: From data stream to complex event processing. ACM Compt Surv 44(3):1–62 https://doi.org/10.1145/2187671.2187677

    Article  Google Scholar 

  29. Raynal M (2018) Fault-tolerant message-passing distributed systems: an algorithmic approach. Springer, Berlin

    Book  Google Scholar 

  30. Kshemkalyani AD, Shen M, Voleti B (2020) Prime clock: encoded vector clock to characterize causality in distributed systems. J Parallel Distrib Comput 140, 37–51 https://doi.org/10.1016/J.JPDC.2020.02.008

  31. Bloom BH (1970) Space/time trade-offs in hash coding with allowable errors. Commun ACM 13(7):422–426

    Article  Google Scholar 

  32. Misra A, Kshemkalyani AD (2021) The bloom clock for causality testing. In: Distributed computing and internet technology: 17th international conference, ICDCIT 2021, Bhubaneswar, India, 2021, Proceedings 17, pp. 3–23. https://doi.org/10.1007/978-3-030-65621-8_1. Springer

  33. Acharya A, Badrinath B (1992) Recording distributed snopshots based on causal order of message delivery. Inf Process Lett 44(6):317–321. https://doi.org/10.1016/0020-0190(92)90107-7

    Article  Google Scholar 

  34. Alagar S, Venkatesan S (1994) An optimal algorithm for distributed snapshots with causal message ordering. Inf Process Lett 50(6):311–316. https://doi.org/10.1016/0020-0190(94)00055-7

    Article  Google Scholar 

  35. Misra A, Kshemkalyani AD (2022) Detecting causality in the presence of byzantine processes: There is no holy grail. In: 2022 IEEE 21st international symposium on network computing and applications (NCA), vol. 21, pp. 73–80. https://doi.org/10.1109/NCA57778.2022.10013644

Download references

Acknowledgements

We want to thank the reviewers for their comments on our paper. This research has been partially funded by the Community of Madrid, under grant EDGEDATA-CM (P2018/TCS-4499), the Spanish Research Council, under grant QoSData (PID2020-119461GB-I00) and by URJC, under grant OpenSSDWMN 5 G (URJC 2022/00004/017).

Author information

Authors and Affiliations

Authors

Contributions

All the authors have contributed to all sections of this study.

Corresponding author

Correspondence to Isabel Muñoz-Fernández.

Ethics declarations

Conflict of interest

The authors have no conflict of interest that may have affected the content of this work.

Ethics approval

Not applicable.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Muñoz-Fernández, I., Arévalo-Viñuales, S. & de-las-Heras-Quirós, P. Timestamp system for causal broadcast communication. J Supercomput (2024). https://doi.org/10.1007/s11227-024-06187-6

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11227-024-06187-6

Keywords

Navigation