skip to main content
10.1145/2332432.2332458acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Generalized lattice agreement

Published: 16 July 2012 Publication History

Abstract

Lattice agreement is a key decision problem in distributed systems. In this problem, processes start with input values from a lattice, and must learn (non-trivial) values that form a chain. Unlike consensus, which is impossible in the presence of even a single process failure, lattice agreement has been shown to be decidable in the presence of failures. In this paper, we consider lattice agreement problems in asynchronous, message passing systems. We present an algorithm for the lattice agreement problem that guarantees liveness as long as a majority of the processes are non-faulty. The algorithm has a time complexity of O(N) message delays, where N is the number of processes. We then introduce the generalized lattice agreement problem, where each process receives a (potentially unbounded) sequence of values from an infinite lattice and must learn a sequence of increasing values such that the union of all learnt sequences is a chain and every proposed value is eventually learnt. We present a wait-free algorithm for solving generalized lattice agreement. The algorithm guarantees that every value received by a correct process is learnt in O(N) message delays. We show that this algorithm can be used to implement a class of replicated state machines where (a) commands can be classified as reads and updates, and (b) all update commands commute. This algorithm can be used to realize serializable and linearizable replicated versions of commonly used data types.

References

[1]
Hagit Attiya, Amotz Bar-Noy, and Danny Dolev. Sharing memory robustly in message-passing systems. J. ACM, 42, 1995.
[2]
Hagit Attiya, Amotz Bar-Noy, Danny Dolev, David Peleg, and Rüdiger Reischuk. Renaming in an asynchronous environment. J. ACM, 37:524--548, July 1990.
[3]
Hagit Attiya and Arie Fouren. Adaptive and efficient algorithms for lattice agreement and renaming. SIAM J. Comput., 31, February 2002.
[4]
Hagit Attiya, Maurice Herlihy, and Ophir Rachman. Atomic snapshots using lattice agreement. Distrib. Comput., 8, March 1995.
[5]
Michael J. Fischer, Nancy Lynch, and Michael S. Paterson. Impossibility of distributed consensus with one faulty process. Journal of the ACM, 2(32):374--382, April 1985.
[6]
Maurice P. Herlihy and Jeannette M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12:463--492, July 1990.
[7]
Michiko Inoue and Wei Chen. Linear-time snapshot using multi-writer multi-reader registers. In Proceedings of the 8th International Workshop on Distributed Algorithms, WDAG '94. Springer-Verlag, 1994.
[8]
Leslie Lamport. The implementation of reliable distributed multiprocess systems. Computer Networks, 2:95--114, 1978.
[9]
Leslie Lamport. The part-time parliament. ACM Transactions on Computer Systems, 16:133--169, May 1998.
[10]
Leslie Lamport. Generalized consensus and paxos. Technical Report MSR-TR-2005-33, Microsoft Research, April 2005.
[11]
Leslie Lamport. Fast paxos. Distributed Computing, 19:79--103, 2006.
[12]
M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. Convergent and commutative replicated data types. Bulletin of the European Association for Theoretical Computer Science (EATCS), (104):67--88, 2011.

Cited By

View all
  • (2023)How Hard is Asynchronous Weight Reassignment?2023 IEEE 43rd International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS57875.2023.00038(523-533)Online publication date: Jul-2023
  • (2023)Permissionless and asynchronous asset transferDistributed Computing10.1007/s00446-023-00449-x36:3(349-371)Online publication date: 18-May-2023
  • (2022)A Linearizability-based Hierarchy for Concurrent SpecificationsCommunications of the ACM10.1145/354682666:1(86-97)Online publication date: 20-Dec-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '12: Proceedings of the 2012 ACM symposium on Principles of distributed computing
July 2012
410 pages
ISBN:9781450314503
DOI:10.1145/2332432
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 July 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. fault tolerance
  2. lattice agreement
  3. replication

Qualifiers

  • Research-article

Conference

PODC '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 711 of 2,367 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)2
Reflects downloads up to 30 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)How Hard is Asynchronous Weight Reassignment?2023 IEEE 43rd International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS57875.2023.00038(523-533)Online publication date: Jul-2023
  • (2023)Permissionless and asynchronous asset transferDistributed Computing10.1007/s00446-023-00449-x36:3(349-371)Online publication date: 18-May-2023
  • (2022)A Linearizability-based Hierarchy for Concurrent SpecificationsCommunications of the ACM10.1145/354682666:1(86-97)Online publication date: 20-Dec-2022
  • (2022)Fault-tolerant Snapshot Objects in Message Passing Systems2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS53621.2022.00113(1129-1139)Online publication date: May-2022
  • (2022)Store-collect in the presence of continuous churn with application to snapshots and lattice agreementInformation and Computation10.1016/j.ic.2022.104869285(104869)Online publication date: May-2022
  • (2022)Asynchronous reconfiguration with Byzantine failuresDistributed Computing10.1007/s00446-022-00421-135:6(477-502)Online publication date: 10-Mar-2022
  • (2021)Set-constrained delivery broadcast: A communication abstraction for read/write implementable distributed objectsTheoretical Computer Science10.1016/j.tcs.2021.06.044Online publication date: Jul-2021
  • (2020)Brief Announcement: Collect in the Presence of Continuous Churn with Application to Snapshots and Lattice AgreementProceedings of the 39th Symposium on Principles of Distributed Computing10.1145/3382734.3405709(51-53)Online publication date: 31-Jul-2020
  • (2020)Byzantine Generalized Lattice Agreement2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS47924.2020.00075(674-683)Online publication date: May-2020
  • (2020)Synchronous Byzantine Lattice Agreement in O(log(f) Rounds2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS47774.2020.00056(146-156)Online publication date: Nov-2020
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media