Communication Requirements for Linearizable Registers

Authors Raïssa Nataf , Yoram Moses



PDF
Thumbnail PDF

File

LIPIcs.DISC.2024.33.pdf
  • Filesize: 0.77 MB
  • 17 pages

Document Identifiers

Author Details

Raïssa Nataf
  • Technion, Haifa, Israel
Yoram Moses
  • Technion, Haifa, Israel

Acknowledgements

We thank Gal Assa, Naama Ben David, and an anonymous referee for very useful comments that improved the presentation of this paper. We alone are responsible for any errors or misrepresentations.

Cite As Get BibTex

Raïssa Nataf and Yoram Moses. Communication Requirements for Linearizable Registers. In 38th International Symposium on Distributed Computing (DISC 2024). Leibniz International Proceedings in Informatics (LIPIcs), Volume 319, pp. 33:1-33:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2024) https://doi.org/10.4230/LIPIcs.DISC.2024.33

Abstract

While linearizability is a fundamental correctness condition for distributed systems, ensuring the linearizability of implementations can be quite complex. An essential aspect of linearizable implementations of concurrent objects is the need to preserve the real-time order of operations. In many settings, however, processes cannot determine the precise timing and relative real-time ordering of operations. Indeed, in an asynchronous system, the only ordering information available to them is based on the fact that sending a message precedes its delivery. We show that as a result, message chains must be used extensively to ensure linearizability. This paper studies the communication requirements of linearizable implementations of atomic registers in asynchronous message passing systems. We start by proving two general theorems that relate message chains to the ability to delay and reorder actions and operations in an execution of an asynchronous system, without the changes being noticeable to the processes. These are then used to prove that linearizable register implementations must create extensive message chains among operations of all types. In particular, our results imply that linearizable implementations in asynchronous systems are necessarily costly and nontrivial, and provide insight into their structure.

Subject Classification

ACM Subject Classification
  • Theory of computation → Distributed algorithms
Keywords
  • linearizability
  • atomic registers
  • asynchrony
  • message chains
  • real time

Metrics

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

References

  1. Yehuda Afek, Hagit Attiya, Danny Dolev, Eli Gafni, Michael Merritt, and Nir Shavit. Atomic snapshots of shared memory. Journal of the ACM (JACM), 40(4):873-890, 1993. URL: https://doi.org/10.1145/153724.153741.
  2. Marcos K. Aguilera, Naama Ben-David, Irina Calciu, Rachid Guerraoui, Erez Petrank, and Sam Toueg. Passing messages while sharing memory. In Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, PODC '18, pages 51-60, New York, NY, USA, 2018. Association for Computing Machinery. URL: https://doi.org/10.1145/3212734.3212741.
  3. Marcos K Aguilera and Svend Frølund. Strict linearizability and the power of aborting. Technical Report HPL-2003-241, 2003. Google Scholar
  4. Hagit Attiya, Amotz Bar-Noy, and Danny Dolev. Sharing memory robustly in message-passing systems. J. ACM, 42(1):124-142, January 1995. URL: https://doi.org/10.1145/200836.200869.
  5. Naama Ben-David, Michal Friedman, and Yuanhao Wei. Survey of persistent memory correctness conditions. arXiv preprint arXiv:2208.11114, 2022. URL: https://doi.org/10.48550/arXiv.2208.11114.
  6. François Bonnet and Michel Raynal. A simple proof of the necessity of the failure detector sigma to implement an atomic register in asynchronous message-passing systems. Information Processing Letters, 110(4):153-157, 2010. URL: https://doi.org/10.1016/j.ipl.2009.11.011.
  7. K. M. Chandy and J. Misra. How processes learn. Distributed Computing, 1(1):40-52, 1986. URL: https://doi.org/10.1007/BF01843569.
  8. Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui, Vassos Hadzilacos, Petr Kouznetsov, and Sam Toueg. The weakest failure detectors to solve certain fundamental problems in distributed computing. In Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing, pages 338-346, 2004. URL: https://doi.org/10.1145/1011767.1011818.
  9. Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui, and Andreas Tielmann. The weakest failure detector for message passing set-agreement. In International Symposium on Distributed Computing, pages 109-120. Springer, 2008. URL: https://doi.org/10.1007/978-3-540-87779-0_8.
  10. Partha Dutta, Rachid Guerraoui, Ron R. Levy, and Arindam Chakraborty. How fast can a distributed atomic read be? In Proceedings of the Twenty-Third Annual ACM Symposium on Principles of Distributed Computing, PODC '04, pages 236-245, New York, NY, USA, 2004. Association for Computing Machinery. URL: https://doi.org/10.1145/1011767.1011802.
  11. Vitor Enes, Carlos Baquero, Tuanir França Rezende, Alexey Gotsman, Matthieu Perrin, and Pierre Sutra. State-machine replication for planet-scale systems. In Proceedings of the Fifteenth European Conference on Computer Systems, EuroSys '20, New York, NY, USA, 2020. Association for Computing Machinery. URL: https://doi.org/10.1145/3342195.3387543.
  12. Ronald Fagin, Joseph Y. Halpern, Yoram Moses, and Moshe Y. Vardi. Reasoning about Knowledge. MIT Press, Cambridge, Mass., 2003. Google Scholar
  13. Wojciech Golab, Lisa Higham, and Philipp Woelfel. Linearizable implementations do not suffice for randomized distributed computation. In Proceedings of the Forty-Third Annual ACM Symposium on Theory of Computing, STOC '11, pages 373-382, New York, NY, USA, 2011. Association for Computing Machinery. URL: https://doi.org/10.1145/1993636.1993687.
  14. Maurice Herlihy, Nir Shavit, Victor Luchangco, and Michael Spear. The art of multiprocessor programming. Newnes, 2020. Google Scholar
  15. Maurice P. Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst., 12(3):463-492, July 1990. URL: https://doi.org/10.1145/78969.78972.
  16. Kaile Huang, Yu Huang, and Hengfeng Wei. Fine-grained analysis on fast implementations of distributed multi-writer atomic registers. In Proceedings of the 39th Symposium on Principles of Distributed Computing, PODC '20, pages 200-209, New York, NY, USA, 2020. Association for Computing Machinery. URL: https://doi.org/10.1145/3382734.3405698.
  17. Alex Kogan and Erez Petrank. A methodology for creating fast wait-free data structures. ACM SIGPLAN Notices, 47(8):141-150, 2012. URL: https://doi.org/10.1145/2145816.2145835.
  18. Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21(7):558-565, July 1978. URL: https://doi.org/10.1145/359545.359563.
  19. N.A. Lynch and A.A. Shvartsman. Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing, pages 272-281, 1997. URL: https://doi.org/10.1109/FTCS.1997.614100.
  20. Maged M Michael and Michael L Scott. Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, pages 267-275, 1996. URL: https://doi.org/10.1145/248052.248106.
  21. Alejandro Naser-Pastoriza, Gregory Chockler, and Alexey Gotsman. Fault-Tolerant Computing with Unreliable Channels. In Alysson Bessani, Xavier Défago, Junya Nakamura, Koichi Wada, and Yukiko Yamauchi, editors, 27th International Conference on Principles of Distributed Systems (OPODIS 2023), volume 286 of Leibniz International Proceedings in Informatics (LIPIcs), pages 21:1-21:21, Dagstuhl, Germany, 2024. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. URL: https://doi.org/10.4230/LIPIcs.OPODIS.2023.21.
  22. Fedor Ryabinin, Alexey Gotsman, and Pierre Sutra. SwiftPaxos: Fast Geo-Replicated state machines. In 21st USENIX Symposium on Networked Systems Design and Implementation (NSDI 24), pages 345-369, Santa Clara, CA, April 2024. USENIX Association. URL: https://www.usenix.org/conference/nsdi24/presentation/ryabinin.
  23. Fred B. Schneider. Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Comput. Surv., 22(4):299-319, December 1990. URL: https://doi.org/10.1145/98163.98167.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail