MixT: A language for mixing consistency in geodistributed transactions

Matthew Milano, Andrew C. Myers

Research output: Chapter in Book/Report/Conference proceedingConference contribution

22 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationPLDI 2018 - Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation
EditorsJeffrey S. Foster, Dan Grossman, Jeffrey S. Foster
PublisherAssociation for Computing Machinery
Pages226-241
Number of pages16
ISBN (Electronic)9781450356985
DOIs
StatePublished - Jun 11 2018
Externally publishedYes
Event39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018 - Philadelphia, United States
Duration: Jun 18 2018Jun 22 2018

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018
Country/TerritoryUnited States
CityPhiladelphia
Period6/18/186/22/18

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • Consistency
  • Information flow
  • Transactions

Fingerprint

Dive into the research topics of 'MixT: A language for mixing consistency in geodistributed transactions'. Together they form a unique fingerprint.

Cite this