skip to main content
research-article
Open Access

A Partial Order View of Message-Passing Communication Models

Published:11 January 2023Publication History
Skip Abstract Section

Abstract

There is a wide variety of message-passing communication models, ranging from synchronous "rendez-vous" communications to fully asynchronous/out-of-order communications. For large-scale distributed systems, the communication model is determined by the transport layer of the network, and a few classes of orders of message delivery (FIFO, causally ordered) have been identified in the early days of distributed computing. For local-scale message-passing applications, e.g., running on a single machine, the communication model may be determined by the actual implementation of message buffers and by how FIFO queues are used. While large-scale communication models, such as causal ordering, are defined by logical axioms, local-scale models are often defined by an operational semantics. In this work, we connect these two approaches, and we present a unified hierarchy of communication models encompassing both large-scale and local-scale models, based on their concurrent behaviors. We also show that all the communication models we consider can be axiomatized in the monadic second order logic, and may therefore benefit from several bounded verification techniques based on bounded special treewidth.

References

  1. Özalp Babaoğlu and Keith Marzullo. 1993. Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. ACM Press/Addison-Wesley Publishing Co., USA. 55–96. isbn:0201624273 Google ScholarGoogle Scholar
  2. Samik Basu and Tevfik Bultan. 2016. On deciding synchronizability for asynchronously communicating systems. Theor. Comput. Sci., 656 (2016), 60–75. https://doi.org/10.1016/j.tcs.2016.09.023 Google ScholarGoogle ScholarCross RefCross Ref
  3. Benedikt Bollig, Cinzia Di Giusto, Alain Finkel, Laetitia Laversa, Étienne Lozes, and Amrita Suresh. 2021. A Unifying Framework for Deciding Synchronizability. In 32nd International Conference on Concurrency Theory, CONCUR 2021, August 24-27, 2021, Serge Haddad and Daniele Varacca (Eds.) (LIPIcs, Vol. 203). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, Virtual Conference. 14:1–14:18. https://doi.org/10.4230/LIPIcs.CONCUR.2021.14 Google ScholarGoogle ScholarCross RefCross Ref
  4. Benedikt Bollig, Cinzia Di Giusto, Alain Finkel, Laetitia Laversa, Étienne Lozes, and Amrita Suresh. 2021. A Unifying Framework for Deciding Synchronizability (extended version). HAL. available at https://hal.archives-ouvertes.fr/hal-03278370/document Google ScholarGoogle Scholar
  5. Benedikt Bollig and Paul Gastin. 2019. Non-Sequential Theory of Distributed Systems. CoRR, abs/1904.06942 (2019), 1–82. arxiv:1904.06942. arxiv:1904.06942 Google ScholarGoogle Scholar
  6. Vincent Botbol, Emmanuel Chailloux, and Tristan Le Gall. 2017. Static Analysis of Communicating Processes Using Symbolic Transducers. In Verification, Model Checking, and Abstract Interpretation - 18th International Conference, VMCAI 2017. Springer, Paris, France. 73–90. https://doi.org/10.1007/978-3-319-52234-0_5 Google ScholarGoogle ScholarCross RefCross Ref
  7. Ahmed Bouajjani, Constantin Enea, Kailiang Ji, and Shaz Qadeer. 2018. On the Completeness of Verifying Message Passing Programs Under Bounded Asynchrony. In Computer Aided Verification - 30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, July 14-17, 2018, Proceedings, Part II, Hana Chockler and Georg Weissenbacher (Eds.) (Lecture Notes in Computer Science, Vol. 10982). Springer, Oxford, UK. 372–391. https://doi.org/10.1007/978-3-319-96142-2_23 Google ScholarGoogle ScholarCross RefCross Ref
  8. Daniel Brand and Pitro Zafiropulo. 1983. On Communicating Finite-State Machines. J. ACM, 30, 2 (1983), 323–342. https://doi.org/10.1145/322374.322380 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bernadette Charron-Bost, Friedemann Mattern, and Gerard Tel. 1996. Synchronous, Asynchronous, and Causally Ordered Communication. Distributed Comput., 9, 4 (1996), 173–191. https://doi.org/10.1007/s004460050018 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Florent Chevrou, Aurélie Hurault, and Philippe Quéinnec. 2016. On the diversity of asynchronous communication. Formal Aspects Comput., 28, 5 (2016), 847–879. https://doi.org/10.1007/s00165-016-0379-x Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Flaviu Cristian and Christof Fetzer. 1999. The Timed Asynchronous Distributed System Model. IEEE Trans. Parallel Distributed Syst., 10, 6 (1999), 642–657. https://doi.org/10.1109/71.774912 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Xavier Défago, André Schiper, and Péter Urbán. 2004. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Comput. Surv., 36, 4 (2004), 372–421. https://doi.org/10.1145/1041680.1041682 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cinzia Di Giusto, Davide Ferré, Laetitia Laversa, and Etienne Lozes. 2022. A partial order view of message-passing communication models. Université Nice Côte d’Azur, CNRS, I3S, France. https://hal.archives-ouvertes.fr/hal-03823473 Google ScholarGoogle Scholar
  14. Cinzia Di Giusto, Laetitia Laversa, and Étienne Lozes. 2020. On the k-synchronizability of Systems. In Foundations of Software Science and Computation Structures - 23rd International Conference, FOSSACS 2020, Proceedings, Jean Goubault-Larrecq and Barbara König (Eds.) (Lecture Notes in Computer Science, Vol. 12077). Springer, Virtual conference. 157–176. https://doi.org/10.1007/978-3-030-45231-5_9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Blaise Genest, Dietrich Kuske, and Anca Muscholl. 2007. On Communicating Automata with Bounded Channels. Fundam. Informaticae, 80, 1-3 (2007), 147–167. http://content.iospress.com/articles/fundamenta-informaticae/fi80-1-3-09 Google ScholarGoogle Scholar
  16. Blaise Genest, Anca Muscholl, and Dietrich Kuske. 2004. A Kleene Theorem for a Class of Communicating Automata with Effective Algorithms. In Developments in Language Theory, 8th International Conference, DLT 2004, Auckland, New Zealand, December 13-17, 2004, Proceedings, Cristian Calude, Elena Calude, and Michael J. Dinneen (Eds.) (Lecture Notes in Computer Science, Vol. 3340). Springer, 30–48. https://doi.org/10.1007/978-3-540-30550-7_4 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Alexander Heuß ner, Tristan Le Gall, and Grégoire Sutre. 2009. Extrapolation-Based Path Invariants for Abstraction Refinement of Fifo Systems. In Model Checking Software, 16th International SPIN Workshop, June 26-28, 2009. Proceedings. Springer, Grenoble, France. 107–124. https://doi.org/10.1007/978-3-642-02652-2_11 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Gerard J. Holzmann. 2004. The SPIN Model Checker - primer and reference manual.. Addison-Wesley. isbn:978-0-321-22862-8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. ITU-T. 2011. Recommendation ITU-T Z.120: Message Sequence Chart (MSC). International Telecommunication Union, Geneva. Google ScholarGoogle Scholar
  20. Bernhard Kragl, Shaz Qadeer, and Thomas A. Henzinger. 2018. Synchronizing the Asynchronous. In 29th International Conference on Concurrency Theory, CONCUR 2018, September 4-7, 2018, Sven Schewe and Lijun Zhang (Eds.) (LIPIcs, Vol. 118). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Beijing, China. 21:1–21:17. https://doi.org/10.4230/LIPIcs.CONCUR.2018.21 Google ScholarGoogle ScholarCross RefCross Ref
  21. Ajay D. Kshemkalyani and Mukesh Singhal. 1998. Necessary and Sufficient Conditions on Information for Causal Message Ordering and Their Optimal Implementation. Distributed Comput., 11, 2 (1998), 91–111. https://doi.org/10.1007/s004460050044 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7 (1978), 558–565. https://doi.org/10.1145/359545.359563 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Julien Lange and Nobuko Yoshida. 2019. Verifying Asynchronous Interactions via Communicating Session Automata. In Computer Aided Verification - 31st International Conference, CAV 2019, July 15-18, 2019, Proceedings, Part I. Springer, New York City, NY, USA. 97–117. https://doi.org/10.1007/978-3-030-25540-4_6 Google ScholarGoogle ScholarCross RefCross Ref
  24. Richard J. Lipton. 1975. Reduction: A Method of Proving Properties of Parallel Programs. Commun. ACM, 18, 12 (1975), 717–721. https://doi.org/10.1145/361227.361234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Markus Lohrey and Anca Muscholl. 2002. Bounded MSC Communication. In Foundations of Software Science and Computation Structures, 5th International Conference, FOSSACS 2002. Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, April 8-12, 2002, Proceedings, Mogens Nielsen and Uffe Engberg (Eds.) (Lecture Notes in Computer Science, Vol. 2303). Springer, Grenoble, France. 295–309. https://doi.org/10.1007/3-540-45931-6_21 Google ScholarGoogle ScholarCross RefCross Ref
  26. Friedemann Mattern and Stefan Fünfrocken. 1994. A Non-Blocking Lightweight Implementation of Causal Order Message Delivery. In Theory and Practice in Distributed Systems, International Workshop, September 5-9, 1994, Selected Papers, Kenneth P. Birman, Friedemann Mattern, and André Schiper (Eds.) (Lecture Notes in Computer Science, Vol. 938). Springer, Dagstuhl Castle, Germany. 197–213. https://doi.org/10.1007/3-540-60042-6_14 Google ScholarGoogle ScholarCross RefCross Ref
  27. Larry L. Peterson, Nick C. Buchholz, and Richard D. Schlichting. 1989. Preserving and Using Context Information in Interprocess Communication. ACM Trans. Comput. Syst., 7, 3 (1989), 217–246. https://doi.org/10.1145/65000.65001 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Michel Raynal. 2010. Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems. Morgan & Claypool Publishers. https://doi.org/10.2200/S00236ED1V01Y201004DCT002 Google ScholarGoogle ScholarCross RefCross Ref
  29. André Schiper, Jorge Eggli, and Alain Sandoz. 1989. A New Algorithm to Implement Causal Ordering. In Distributed Algorithms, 3rd International Workshop, September 26-28, 1989, Proceedings, Jean-Claude Bermond and Michel Raynal (Eds.) (Lecture Notes in Computer Science, Vol. 392). Springer, Nice, France. 219–232. https://doi.org/10.1007/3-540-51687-5_45 Google ScholarGoogle ScholarCross RefCross Ref
  30. Gerard Tel. 2000. Introduction to distributed algorithms. Cambridge university press, Cambridge. Google ScholarGoogle ScholarCross RefCross Ref
  31. Salvatore La Torre, P. Madhusudan, and Gennaro Parlato. 2009. Reducing Context-Bounded Concurrent Reachability to Sequential Reachability. In Computer Aided Verification, 21st International Conference, CAV 2009, June 26 - July 2, 2009. Proceedings. Springer, Grenoble, France. 477–492. https://doi.org/10.1007/978-3-642-02658-4_36 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Robbert van Renesse. 1993. Causal Controversy at Le Mont St.-Michel. ACM SIGOPS Oper. Syst. Rev., 27, 2 (1993), 44–53. https://doi.org/10.1145/155848.155857 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Klaus von Gleissenthall, Rami Gökhan Kici, Alexander Bakst, Deian Stefan, and Ranjit Jhala. 2019. Pretend synchrony: synchronous verification of asynchronous distributed programs. PACMPL, 3, POPL (2019), 59:1–59:30. https://doi.org/10.1145/3290372 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Partial Order View of Message-Passing Communication Models

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Article Metrics

          • Downloads (Last 12 months)246
          • Downloads (Last 6 weeks)25

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!