Affiliation:
1. Cornell University, USA
Abstract
Programming concurrent, distributed systems is hard—especially when these systems mutate shared, persistent state replicated at geographic scale. To enable high availability and scalability, a new class of weakly consistent data stores has become popular. However, some data needs strong consistency. To manipulate both weakly and strongly consistent data in a single transaction, we introduce a new abstraction: mixed-consistency transactions, embodied in a new embedded language, MixT. Programmers explicitly associate consistency models with remote storage sites; each atomic, isolated transaction can access a mixture of data with different consistency models. Compile-time information-flow checking, applied to consistency models, ensures that these models are mixed safely and enables the compiler to automatically partition transactions. New run-time mechanisms ensure that consistency models can also be mixed safely, even when the data used by a transaction resides on separate, mutually unaware stores. Performance measurements show that despite their stronger guarantees, mixed-consistency transactions retain much of the speed of weak consistency, significantly outperforming traditional serializable transactions.
Funder
Department of Defence, Air Force office of Scientific Research, National Defense Science and Engineering Graduate (NDSEG) Fellowship
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference59 articles.
1. Non-monotonic Snapshot Isolation: Scalable and Strong Consistency for Geo-replicated Transactional Systems
2. A critique of ANSI SQL isolation levels
3. A certain freedom
4. Joshua William Skilken Brown. 2017. Personal communication. (Nov. 2017). Google Inc. Joshua William Skilken Brown. 2017. Personal communication. (Nov. 2017). Google Inc.
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Noctua: Towards Automated and Practical Fine-grained Consistency Analysis;Proceedings of the Nineteenth European Conference on Computer Systems;2024-04-22
2. Stream processing with dependency-guided synchronization;Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming;2022-03-28
3. Foundations of Consistency Types for a Higher-Order Distributed Language;Languages and Compilers for Parallel Computing;2021