Towards Reconfigurable Linearizable Reads (2404.05470v1)
Abstract: Linearizable datastores are desirable because they provide users with the illusion that the datastore is run on a single machine that performs client operations one at a time. To reduce the performance cost of providing this illusion, many specialized algorithms for linearizable reads have been proposed which significantly improve read performance compared to write performance. The main difference between these specialized algorithms is their performance under different workloads. Unfortunately, since a datastore's workload is often unknown or changes over time and system designers must decide on a single read algorithm to implement ahead of time, a datastore's performance is often suboptimal as it cannot adapt to workload changes. In this paper, we lay the groundwork for addressing this problem by proposing Chameleon, an algorithm for linearizable reads that provides a principled approach for datastores to switch between existing read algorithms at runtime. The key observation that enables this generalization is that all existing algorithms are specific read-write quorum systems. Chameleon constructs a generic read-write quorum system, by using tokens that are included to complete write and read operations. This token quorum system enables Chameleon to mimic existing read algorithms and switch between them by transferring these tokens between processes.
- Multileader wan paxos: Ruling the archipelago with fast consensus. arXiv preprint arXiv:1703.08905, 2017.
- Leader or majority: Why have one when you can have both? improving read scalability in raft-like consensus protocols. In 9th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 17), 2017.
- Workload analysis of a large-scale key-value store. In Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems, pages 53–64, 2012.
- Megastore: Providing scalable, highly available storage for interactive services. 2011.
- Parameterized algorithm for replicated objects with local reads. arXiv preprint arXiv:2204.01228, 2022.
- Paxos made live: an engineering perspective. In Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing, pages 398–407, 2007.
- An algorithm for replicated objects with efficient reads. In Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, pages 325–334, 2016.
- Linearizable quorum reads in paxos. In 11th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 19), 2019.
- Taobench: an end-to-end benchmark for social network workloads. Proceedings of the VLDB Endowment, 15(9):1965–1977, 2022.
- Spanner: Google’s globally distributed database. ACM Transactions on Computer Systems (TOCS), 31(3):1–22, 2013.
- Nezha: Deployable and high-performance consensus using synchronized clocks. Proceedings of the VLDB Endowment, 16(4):629–642, 2022.
- Leases: An efficient fault-tolerant mechanism for distributed file cache consistency. ACM SIGOPS Operating Systems Review, 23(5):202–210, 1989.
- Linearizable low-latency reads at the edge. In Proceedings of the 10th Workshop on Principles and Practice of Consistency for Distributed Data, pages 77–83, 2023.
- What bugs live in the cloud? a study of 3000+ issues in cloud systems. In Proceedings of the ACM symposium on cloud computing, pages 1–14, 2014.
- Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems (TOPLAS), 12(3):463–492, 1990.
- Flexible paxos: Quorum intersection revisited. arXiv preprint arXiv:1608.06696, 2016.
- Hermes: A fast, fault-tolerant and linearizable replication protocol. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 201–217, 2020.
- A fair share scheduler. Communications of the ACM, 31(1):44–55, 1988.
- Leslie Lamport. Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pages 51–58, 2001.
- Cheap paxos. In International Conference on Dependable Systems and Networks, 2004, pages 307–314. IEEE, 2004.
- Taxdc: A taxonomy of non-deterministic concurrency bugs in datacenter distributed systems. In Proceedings of the twenty-first international conference on architectural support for programming languages and operating systems, pages 517–530, 2016.
- Barbara Liskov. Practical uses of synchronized clocks in distributed systems. In Proceedings of the tenth annual ACM symposium on Principles of distributed computing, pages 1–9, 1991.
- There is more consensus in egalitarian parliaments. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pages 358–372, 2013.
- Paxos quorum leases: Fast reads without sacrificing writes. In Proceedings of the ACM Symposium on Cloud Computing, pages 1–13, 2014.
- Dpaxos: Managing data closer to users for low-latency and mobile applications. In Proceedings of the 2018 International Conference on Management of Data, pages 1221–1236, 2018.
- In search of an understandable consensus algorithm. In 2014 USENIX annual technical conference (USENIX ATC 14), pages 305–319, 2014.
- Fred B Schneider. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Computing Surveys (CSUR), 22(4):299–319, 1990.
- {{\{{EPaxos}}\}} revisited. In 18th USENIX Symposium on Networked Systems Design and Implementation (NSDI 21), pages 613–632, 2021.
- Lottery scheduling: Flexible proportional-share resource management. In Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation, pages 1–es, 1994.
- Read-write quorum systems made practical. In Proceedings of the 8th Workshop on Principles and Practice of Consistency for Distributed Data, pages 1–8, 2021.
- Gleaning the consensus for linearizable and conflict-free per-replica local reads. In Proceedings of the 7th Asia-Pacific Workshop on Networking, pages 143–149, 2023.