Send/Receive Patterns Versus Read/Write Patterns in Crash-Prone Asynchronous Distributed Systems

Authors Mathilde Déprés , Achour Mostéfaoui , Matthieu Perrin , Michel Raynal

Thumbnail PDF


  • Filesize: 0.91 MB
  • 24 pages

Document Identifiers

Author Details

Mathilde Déprés
  • École Normale Supérieure de Paris-Saclay, France
Achour Mostéfaoui
  • LS2N, Nantes Université, France
Matthieu Perrin
  • LS2N, Nantes Université, France
Michel Raynal
  • Univ Rennes IRISA, Inria, CNRS, France

Cite AsGet BibTex

Mathilde Déprés, Achour Mostéfaoui, Matthieu Perrin, and Michel Raynal. Send/Receive Patterns Versus Read/Write Patterns in Crash-Prone Asynchronous Distributed Systems. In 37th International Symposium on Distributed Computing (DISC 2023). Leibniz International Proceedings in Informatics (LIPIcs), Volume 281, pp. 16:1-16:24, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


This paper is on the power and computability limits of messages patterns in crash-prone asynchronous message-passing systems. It proposes and investigates three basic messages patterns (encountered in all these systems) each involving two processes, and compares them to their Read/Write counterparts. It is first shown that one of these patterns has no Read/Write counterpart. The paper proposes then a new one-to-all broadcast abstraction, denoted Mutual Broadcast (in short MBroadcast), whose implementation relies on two of the previous messages patterns. This abstraction provides each pair of processes with the following property (called mutual ordering): for any pair of processes p and p', if p broadcasts a message m and p' broadcasts a message m', it is not possible for p to deliver first (its message) m and then m' while p' delivers first (its message) m' and then m. It is shown that MBroadcast and atomic Read/Write registers have the same computability power (independently of the number of crashes). Finally, in addition to its theoretical contribution, the practical interest of MBroadcast is illustrated by its (very simple) use to solve basic upper level coordination problems such as mutual exclusion and consensus. Last but not least, looking for simplicity was also a target of this article.

Subject Classification

ACM Subject Classification
  • Theory of computation → Distributed computing models
  • Computer systems organization → Fault-tolerant network topologies
  • Networks → Programming interfaces
  • Asynchrony
  • Atomicity
  • Broadcast abstraction
  • Characterization
  • Consensus
  • Crash failure
  • Distributed Computability
  • Distributed software engineering
  • Computability
  • Lattice agreement
  • Message-passing
  • Message pattern
  • Mutual exclusion
  • Quorum
  • Read/write pattern
  • Read/Write register
  • Test&Set
  • Simplicity
  • Two-process communication


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Yehuda Afek, Danny Dolev, Hagit Attiya, Eli Gafni, Michael Merritt, and Nir Shavit. Atomic snapshots of shared memory. In Proc. of the 9th Annual ACM Symposium on Principles of Distributed Computing, Quebec, Canada, August 22-24, 1990, pages 1-13, 1990. Google Scholar
  2. Yehuda Afek, Faith Ellen, and Eli Gafni. Deterministic objects: Life beyond consensus. In Proc. of the 2016 ACM Symposium on Principles of Distributed Computing, PODC 2016, Chicago, IL, USA, July 25-28, 2016, pages 97-106, 2016. Google Scholar
  3. Yehuda Afek, Eytan Weisberger, and Hanan Weisman. A completeness theorem for a class of synchronization objects (extended abstract). In Proc. of the Twelth Annual ACM Symposium on Principles of Distributed Computing, Ithaca, New York, USA, August 15-18, 1993, pages 159-170, 1993. Google Scholar
  4. Mustaque Ahamad, Gil Neiger, James E Burns, Prince Kohli, and Phillip W Hutto. Causal memory: Definitions, implementation, and programming. Distributed Computing, 9(1):37-49, 1995. Google Scholar
  5. James H. Anderson. Multi-writer composite registers. Distributed Comput., 7(4):175-195, 1994. Google Scholar
  6. Hagit Attiya. Efficient and robust sharing of memory in message-passing systems. J. Algorithms, 34(1):109-127, 2000. Google Scholar
  7. Hagit Attiya, Amotz Bar-Noy, and Danny Dolev. Sharing memory robustly in message-passing systems. J. ACM, 42(1):124-142, 1995. Google Scholar
  8. Hagit Attiya, Maurice Herlihy, and Ophir Rachman. Atomic snapshots using lattice agreement. Distributed Computing, 8(3):121-132, 1995. Google Scholar
  9. Hagit Attiya and Jennifer L. Welch. Distributed computing - fundamentals, simulations, and advanced topics (2. ed.). Wiley series on parallel and distributed computing. Wiley, 2004. Google Scholar
  10. Kenneth P. Birman and Thomas A. Joseph. Reliable communication in the presence of failures. ACM Trans. Comput. Syst., 5(1):47-76, 1987. Google Scholar
  11. Tushar Deepak Chandra, Vassos Hadzilacos, and Sam Toueg. The weakest failure detector for solving consensus. J. ACM, 43(4):685-722, 1996. Google Scholar
  12. Tushar Deepak Chandra and Sam Toueg. Unreliable failure detectors for reliable distributed systems. J. ACM, 43(2):225-267, 1996. Google Scholar
  13. Eli Daian, Giuliano Losa, Yehuda Afek, and Eli Gafni. A wealth of sub-consensus deterministic objects. In 32nd International Symposium on Distributed Computing, DISC 2018, New Orleans, LA, USA, October 15-19, 2018, volume 121 of LIPIcs, pages 17:1-17:17, 2018. Google Scholar
  14. Luciano Freitas de Souza, Petr Kuznetsov, Thibault Rieutord, and Sara Tucci Piergiovanni. Accountability and reconfiguration: Self-healing lattice agreement. In 25th International Conference on Principles of Distributed Systems, OPODIS 2021, December 13-15, 2021, Strasbourg, France, volume 217 of LIPIcs, pages 25:1-25:23, 2021. Google Scholar
  15. Carole Delporte-Gallet, Hugues Fauconnier, and Rachid Guerraoui. Tight failure detection bounds on atomic object implementations. J. ACM, 57(4):22:1-22:32, 2010. Google Scholar
  16. Carole Delporte-Gallet, Hugues Fauconnier, Sergio Rajsbaum, and Michel Raynal. Implementing snapshot objects on top of crash-prone asynchronous message-passing systems. IEEE Trans. Parallel Distributed Syst., 29(9):2033-2045, 2018. Google Scholar
  17. Carole Delporte-Gallet, Hugues Fauconnier, and Michel Raynal. On the weakest information on failures to solve mutual exclusion and consensus in asynchronous crash-prone read/write systems. J. Parallel Distributed Comput., 153:110-118, 2021. Google Scholar
  18. Mathilde Déprés, Achour Mostéfaoui, Matthieu Perrin, and Michel Raynal. Brief announcement: The mbroadcast abstraction. In Proc. of the 2023 ACM Symposium on Principles of Distributed Computing, PODC 2023, Orlando, FL, USA, June 19-23, 2023, pages 282-285, 2023. Google Scholar
  19. Mathilde Déprés, Achour Mostéfaoui, Matthieu Perrin, and Michel Raynal. Send/Receive Patterns versus Read/Write Patterns: the MB-Broadcast Abstraction (Extended Version). Research report, University of Nantes, 2023. URL:
  20. Edsger W. Dijkstra. Solution of a problem in concurrent programming control. Commun. ACM, 8(9):569, 1965. Google Scholar
  21. Partha Dutta, Rachid Guerraoui, Ron R. Levy, and Marko Vukolic. Fast access to distributed atomic memory. SIAM J. Comput., 39(8):3752-3783, 2010. Google Scholar
  22. Jose M. Faleiro, Sriram K. Rajamani, Kaushik Rajan, G. Ramalingam, and Kapil Vaswani. Generalized lattice agreement. In Darek Kowalski and Alessandro Panconesi, editors, ACM Symposium on Principles of Distributed Computing, PODC '12, Funchal, Madeira, Portugal, July 16-18, 2012, pages 125-134. ACM, 2012. Google Scholar
  23. Michael J. Fischer, Nancy A. Lynch, and Mike Paterson. Impossibility of distributed consensus with one faulty process. J. ACM, 32(2):374-382, 1985. Google Scholar
  24. Michael J. Fischer and Michael Merritt. Appraising two decades of distributed computing theory research. Distributed Comput., 16(2-3):239-247, 2003. Google Scholar
  25. Chryssis Georgiou, Theophanis Hadjistasi, Nicolas Nicolaou, and Alexander A. Schwarzmann. Implementing three exchange read operations for distributed atomic storage. J. Parallel Distributed Comput., 163:97-113, 2022. Google Scholar
  26. Vassos Hadzilacos and Sam Toueg. A modular approach to fault-tolerant broadcasts and related problems. Technical Report Tech Report 94-1425, Cornell University, 1994. Extended version of "Fault-Tolerant Broadcasts and Related Problems" in Distributed systems, 2nd Edition, Addison-Wesley/ACM, pp. 97-145 (1993. Google Scholar
  27. Maurice Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems (TOPLAS), 13(1):124-149, 1991. Google Scholar
  28. Maurice Herlihy, Sergio Rajsbaum, Michel Raynal, and Julien Stainer. From wait-free to arbitrary concurrent solo executions in colorless distributed computing. Theor. Comput. Sci., 683:1-21, 2017. Google Scholar
  29. Maurice Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst., 12(3):463-492, 1990. Google Scholar
  30. Damien Imbs, Petr Kuznetsov, and Thibault Rieutord. Progress-space tradeoffs in single-writer memory implementations. In 21st International Conference on Principles of Distributed Systems, OPODIS 2017, Lisbon, Portugal, December 18-20, 2017, volume 95 of LIPIcs, pages 9:1-9:17, 2017. Google Scholar
  31. Damien Imbs, Achour Mostéfaoui, Matthieu Perrin, and Michel Raynal. Which broadcast abstraction captures k-set agreement? In Andréa W. Richa, editor, 31st International Symposium on Distributed Computing, DISC 2017, October 16-20, 2017, Vienna, Austria, volume 91 of LIPIcs, pages 27:1-27:16, 2017. Google Scholar
  32. Damien Imbs, Achour Mostéfaoui, Matthieu Perrin, and Michel Raynal. Set-constrained delivery broadcast: A communication abstraction for read/write implementable distributed objects. Theor. Comput. Sci., 886:49-68, 2021. Google Scholar
  33. Leslie Lamport. A new solution of dijkstra’s concurrent programming problem. Commun. ACM, 17(8):453-455, 1974. Google Scholar
  34. Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21(7):558-565, 1978. Google Scholar
  35. Leslie Lamport. On interprocess communication. part I: basic formalism. Distributed Comput., 1(2):77-85, 1986. Google Scholar
  36. Leslie Lamport. The part-time parliament. ACM Trans. Comput. Syst., 16(2):133-169, 1998. Google Scholar
  37. Leslie Lamport. Deconstructing the bakery to build a distributed state machine. Commun. ACM, 65(9):58-66, 2022. Google Scholar
  38. Leslie Lamport, Robert E. Shostak, and Marshall C. Pease. The byzantine generals problem. ACM Trans. Program. Lang. Syst., 4(3):382-401, 1982. Google Scholar
  39. Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996. Google Scholar
  40. Loui M.C. and Abu-Amara H.H. Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research, 4:163-183. JAI Press, 1987. Google Scholar
  41. Anshuman Misra and Ajay D. Kshemkalyani. Solvability of byzantine fault-tolerant causal ordering problems. In Mohammed-Amine Koulali and Mira Mezini, editors, Proc. of the 10th International Conference on Networked Systems, NETYS 2022, Virtual Event, volume 13464 of Lecture Notes in Computer Science, pages 87-103. Springer, 2022. Google Scholar
  42. Achour Mostéfaoui and Michel Raynal. Two-bit messages are sufficient to implement atomic read/write registers in crash-prone systems. In George Giakkoupis, editor, Proc. of the 2016 ACM Symposium on Principles of Distributed Computing, PODC 2016, Chicago, IL, USA, July 25-28, 2016, pages 381-389. ACM, 2016. Google Scholar
  43. Achour Mostéfaoui, Michel Raynal, and Matthieu Roy. Time-efficient read/write register in crash-prone asynchronous message-passing systems. Computing, 101(1):3-17, 2019. Google Scholar
  44. Marshall C. Pease, Robert E. Shostak, and Leslie Lamport. Reaching agreement in the presence of faults. J. ACM, 27(2):228-234, 1980. Google Scholar
  45. Matthieu Perrin, Achour Mostéfaoui, Grégoire Bonin, and Ludmila Courtillat-Piazza. Extending the wait-free hierarchy to multi-threaded systems. Distributed Computing, 35(4):375-398, 2022. Google Scholar
  46. Michel Raynal. Concurrent Programming - Algorithms, Principles, and Foundations. Springer, 2013. Google Scholar
  47. Michel Raynal. Fault-Tolerant Message-Passing Distributed Systems - An Algorithmic Approach. Springer, 2018. Google Scholar
  48. Michel Raynal. Concurrent crash-prone shared memory systems: a few theoretical notions. Morgan & Claypool Publishers, 2022. Google Scholar
  49. Michel Raynal. Mutual exclusion vs consensus: both sides of the same coin? Bull. EATCS, 140, 2023. Google Scholar
  50. Michel Raynal, André Schiper, and Sam Toueg. The causal ordering abstraction and a simple way to implement it. Information Process. Letters, 39(6):343-350, 1991. Google Scholar
  51. Michel Raynal and Gadi Taubenfeld. A visit to mutual exclusion in seven dates. Theor. Comput. Sci., 919:47-65, 2022. Google Scholar
  52. Eric Ruppert. Implementing shared registers in asynchronous message-passing systems. In Encyclopedia of Algorithms - 2008 Edition. Springer, 2008. Google Scholar
  53. Cheng Shao, Jennifer L. Welch, Evelyn Pierce, and Hyunyoung Lee. Multiwriter consistency conditions for shared memory registers. SIAM J. Comput., 40(1):28-62, 2011. Google Scholar
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail