MixT: A language for mixing consistency in geodistributed transactions

Matthew Milano, Andrew C. Myers

Research output: Contribution to journalArticlepeer-review

11 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)
Pages (from-to)226-241
Number of pages16
JournalACM SIGPLAN Notices
Volume53
Issue number4
DOIs
StatePublished - Jun 11 2018
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • General Computer Science

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