Vertical Atomic Broadcast and Passive Replication

Authors Manuel Bravo, Gregory Chockler, Alexey Gotsman, Alejandro Naser-Pastoriza, Christian Roldán



PDF
Thumbnail PDF

File

LIPIcs.DISC.2024.10.pdf
  • Filesize: 0.83 MB
  • 19 pages

Document Identifiers

Author Details

Manuel Bravo
  • Informal Systems, Madrid, Spain
Gregory Chockler
  • University of Surrey, Guildford, UK
Alexey Gotsman
  • IMDEA Software Institute, Madrid, Spain
Alejandro Naser-Pastoriza
  • IMDEA Software Institute, Madrid, Spain
  • Universidad Politécnica de Madrid, Spain
Christian Roldán
  • IMDEA Software Institute, Madrid, Spain

Cite As Get BibTex

Manuel Bravo, Gregory Chockler, Alexey Gotsman, Alejandro Naser-Pastoriza, and Christian Roldán. Vertical Atomic Broadcast and Passive Replication. In 38th International Symposium on Distributed Computing (DISC 2024). Leibniz International Proceedings in Informatics (LIPIcs), Volume 319, pp. 10:1-10:19, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2024) https://doi.org/10.4230/LIPIcs.DISC.2024.10

Abstract

Atomic broadcast is a reliable communication abstraction ensuring that all processes deliver the same set of messages in a common global order. It is a fundamental building block for implementing fault-tolerant services using either active (aka state-machine) or passive (aka primary-backup) replication. We consider the problem of implementing reconfigurable atomic broadcast, which further allows users to dynamically alter the set of participating processes, e.g., in response to failures or changes in the load. We give a complete safety and liveness specification of this communication abstraction and propose a new protocol implementing it, called Vertical Atomic Broadcast, which uses an auxiliary service to facilitate reconfiguration. In contrast to prior proposals, our protocol significantly reduces system downtime when reconfiguring from a functional configuration by allowing it to continue processing messages while agreement on the next configuration is in progress. Furthermore, we show that this advantage can be maintained even when our protocol is modified to support a stronger variant of atomic broadcast required for passive replication.

Subject Classification

ACM Subject Classification
  • Theory of computation → Distributed computing models
Keywords
  • Reconfiguration
  • consensus
  • replication

Metrics

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

References

  1. Marcos K. Aguilera, Idit Keidar, Dahlia Malkhi, and Alexander Shraer. Dynamic atomic storage without consensus. J. ACM, 58(2), 2011. URL: https://doi.org/10.1145/1944345.1944348.
  2. Mahesh Balakrishnan, Dahlia Malkhi, John D. Davis, Vijayan Prabhakaran, Michael Wei, and Ted Wobber. CORFU: A distributed shared log. ACM Trans. Comput. Syst., 31(4), 2013. URL: https://doi.org/10.1145/2535930.
  3. Kenneth Birman, Dahlia Malkhi, and Robbert van Renesse. Virtually synchronous methodology for building dynamic reliable services. In Guide to Reliable Distributed Systems - Building High-Assurance Applications and Cloud-Hosted Services, chapter 22. Springer, 2012. Google Scholar
  4. Manuel Bravo, Gregory Chockler, Alexey Gotsman, Alejandro Naser-Pastoriza, and Christian Roldán. Vertical atomic broadcast and passive replication (extended version). arXiv, abs/2408.08702, 2024. URL: https://arxiv.org/abs/2408.08702.
  5. Manuel Bravo and Alexey Gotsman. Reconfigurable atomic transaction commit. In Symposium on Principles of Distributed Computing (PODC), 2019. Google Scholar
  6. Navin Budhiraja, Keith Marzullo, Fred B. Schneider, and Sam Toueg. The primary-backup approach. In Distributed Systems (2nd Ed.). ACM Press/Addison-Wesley, 1993. Google Scholar
  7. Tushar Deepak Chandra and Sam Toueg. Unreliable failure detectors for reliable distributed systems. J. ACM, 43(2), 1996. URL: https://doi.org/10.1145/226643.226647.
  8. Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Michael Burrows, Tushar Chandra, Andrew Fikes, and Robert Gruber. Bigtable: A distributed storage system for structured data. In Symposium on Operating Systems Design and Implementation (OSDI), 2006. Google Scholar
  9. Gregory Chockler, Idit Keidar, and Roman Vitenberg. Group communication specifications: A comprehensive study. ACM Comput. Surv., 33(4), 2001. URL: https://doi.org/10.1145/503112.503113.
  10. Xavier Défago, André Schiper, and Péter Urbán. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Comput. Surv., 36(4), 2004. URL: https://doi.org/10.1145/1041680.1041682.
  11. Aleksandar Dragojević, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, and Miguel Castro. No compromises: Distributed transactions with consistency, availability, and performance. In Symposium on Operating Systems Principles (SOSP), 2015. Google Scholar
  12. Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. Consensus in the presence of partial synchrony. J. ACM, 35(2), 1988. URL: https://doi.org/10.1145/42282.42283.
  13. Roy Friedman and Robbert van Renesse. Strong and weak virtual synchrony in Horus. In Symposium on Reliable Distributed Systems (SRDS), 1996. Google Scholar
  14. Jason Gustafson. Hardening Kafka replication. Talk at Kafka Summit San Francisco, 2018. URL: https://www.confluent.io/kafka-summit-sf18/hardening-kafka-replication/.
  15. Maurice Herlihy, Victor Luchangco, and Mark Moir. Obstruction-free synchronization: Double-ended queues as an example. In International Conference on Distributed Computing Systems (ICDCS), 2003. Google Scholar
  16. Maurice P. Herlihy and Jeannette M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst., 12(3), 1990. URL: https://doi.org/10.1145/78969.78972.
  17. Patrick Hunt, Mahadev Konar, Flavio Paiva Junqueira, and Benjamin Reed. Zookeeper: Wait-free coordination for internet-scale systems. In USENIX Annual Technical Conference (USENIX ATC), 2010. Google Scholar
  18. Flavio Paiva Junqueira, Benjamin C. Reed, and Marco Serafini. Zab: High-performance broadcast for primary-backup systems. In Conference on Dependable Systems and Networks (DSN), 2011. Google Scholar
  19. Flavio Paiva Junqueira and Marco Serafini. On barriers and the gap between active and passive replication. In Symposium on Distributed Computing (DISC), 2013. Google Scholar
  20. Idit Keidar and Danny Dolev. Efficient message ordering in dynamic networks. In Symposium on Principles of Distributed Computing (PODC), 1996. Google Scholar
  21. Leslie Lamport. The part-time parliament. ACM Trans. Comput. Syst., 16(2), 1998. URL: https://doi.org/10.1145/279227.279229.
  22. Leslie Lamport. Lower bounds for asynchronous consensus. Distributed Computing, 19(2), 2006. URL: https://doi.org/10.1007/S00446-006-0155-X.
  23. Leslie Lamport, Dahlia Malkhi, and Lidong Zhou. Vertical Paxos and primary-backup replication. In Symposium on Principles of Distributed Computing (PODC), 2009. Google Scholar
  24. Leslie Lamport, Dahlia Malkhi, and Lidong Zhou. Reconfiguring a state machine. SIGACT News, 41(1), 2010. URL: https://doi.org/10.1145/1753171.1753191.
  25. Leslie Lamport and Mike Massa. Cheap Paxos. In Conference on Dependable Systems and Networks (DSN), 2004. Google Scholar
  26. Jacob R. Lorch, Atul Adya, William J. Bolosky, Ronnie Chaiken, John R. Douceur, and Jon Howell. The SMART way to migrate replicated stateful services. In European Conference on Computer Systems (EuroSys), 2006. Google Scholar
  27. Nancy Lynch and Alex A. Shvartsman. RAMBO: A reconfigurable atomic memory service for dynamic networks. In Symposium on Distributed Computing (DISC), 2002. Google Scholar
  28. John MacCormick, Chandramohan A. Thekkath, Marcus Jager, Kristof Roomp, Lidong Zhou, and Ryan Peterson. Niobe: A practical replication protocol. ACM Trans. Storage, 3(4), 2008. URL: https://doi.org/10.1145/1326542.1326543.
  29. Neha Narkhede, Gwen Shapira, and Todd Palino. Kafka: The Definitive Guide. O'Reilly Media, 2017. Google Scholar
  30. Brian M. Oki and Barbara H. Liskov. Viewstamped replication: A new primary copy method to support highly-available distributed systems. In Symposium on Principles of Distributed Computing (PODC), 1988. Google Scholar
  31. Diego Ongaro and John K. Ousterhout. In search of an understandable consensus algorithm. In USENIX Annual Technical Conference (USENIX ATC), 2014. Google Scholar
  32. Jun Rao, Eugene J. Shekita, and Sandeep Tata. Using Paxos to build a scalable, consistent, and highly available datastore. Proc. VLDB Endow., 4(4), 2011. URL: https://doi.org/10.14778/1938545.1938549.
  33. Fred B. Schneider. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Comput. Surv., 22(4), 1990. URL: https://doi.org/10.1145/98163.98167.
  34. William Schultz, Siyuan Zhou, Ian Dardik, and Stavros Tripakis. Design and analysis of a logless dynamic reconfiguration protocol. In Conference on Principles of Distributed Systems (OPODIS), 2021. Google Scholar
  35. Alexander Shraer, Benjamin Reed, Dahlia Malkhi, and Flavio Paiva Junqueira. Dynamic reconfiguration of primary/backup clusters. In USENIX Annual Technical Conference (USENIX ATC), 2012. Google Scholar
  36. Alexander Spiegelman and Idit Keidar. On liveness of dynamic storage. In Colloquium on Structural Information and Communication Complexity (SIROCCO), 2017. Google Scholar
  37. Alexander Spiegelman, Idit Keidar, and Dahlia Malkhi. Dynamic reconfiguration: Abstraction and optimal asynchronous solution. In Symposium on Distributed Computing (DISC), 2017. Google Scholar
  38. Robbert van Renesse and Fred B. Schneider. Chain replication for supporting high throughput and availability. In Symposium on Operating Systems Design and Implementation (OSDI), 2004. Google Scholar
  39. Michael J. Whittaker, Neil Giridharan, Adriana Szekeres, Joseph M. Hellerstein, Heidi Howard, Faisal Nawab, and Ion Stoica. Matchmaker Paxos: A reconfigurable consensus protocol. J. Syst. Res., 1(1), 2021. Google Scholar
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