skip to main content
10.1145/3103111.3104044acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
short-paper

Consistency Types for Safe and Efficient Distributed Programming

Published:18 June 2017Publication History

ABSTRACT

Consistency is a long standing problem in distributed systems. Low consistency levels are considered a necessity for scalability. High consistency is required for critical tasks such as payment and identification. Modern (geo-)distributed systems rely on the data propagation mechanisms and consistency guarantees of the distributed data store they build upon, which makes the implementation of a system that mixes different levels of consistency complex and error prone. In this paper we present preliminary work on ConSysT, a programming language that supports heterogeneous consistency specifications at the type level. In ConSysT, developers assign consistency levels directly to the data and the type system ensures the correct behavior of the application even with computations that mix data at multiple consistency levels. Our vision is that the ConSysT runtime automatically determines the most efficient mechanism to achieve the desired level of consistency among those offered by the underlying data store.

References

  1. Peter Bailis, Alan Fekete, Ali Ghodsi, Joseph M. Hellerstein, and Ion Stoica. 2013. HAT, Not CAP: Towards Highly Available Transactions (HotOS '13). USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Peter Bailis and Ali Ghodsi. 2013. Eventual Consistency Today: Limitations, Extensions, and Beyond. Commun. ACM 56, 5 (2013), 55--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Peter Bailis, Ali Ghodsi, Joseph M. Hellerstein, and Ion Stoica. 2013. Bolt-on Causal Consistency (SIGMOD '13). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Eric Brewer. 2012. CAP twelve years later: How the "rules" have changed. (2012).Google ScholarGoogle Scholar
  5. Sebastian Burckhardt, Manuel Fähndrich, Daan Leijen, and Benjamin P. Wood. 2012. Cloud Types for Eventual Consistency (ECOOP'12). Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Julian Dolby, Christian Hammer, Daniel Marino, Frank Tip, Mandana Vaziri, and Jan Vitek. 2012. A Data-centric Approach to Synchronization. ACM Trans. Program. Lang. Syst. 34, 1 (May 2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Brandon Holt, James Bornholt, Irene Zhang, Dan Ports, Mark Oskin, and Luis Ceze. 2016. Disciplined Inconsistency with Consistency Types (SoCC '16). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cheng Li, João Leitão, Allen Clement, Nuno Preguiça, Rodrigo Rodrigues, and Viktor Vafeiadis. 2014. Automating the Choice of Consistency Levels in Replicated Systems (USENIX ATC'14). USENIX Association, 281--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cheng Li, Daniel Porto, Allen Clement, Johannes Gehrke, Nuno Preguiça, and Rodrigo Rodrigues. 2012. Making Geo-replicated Systems Fast As Possible, Consistent when Necessary (OSDI '12). USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Marc Shapiro, Nuno Preguiça, Carlos Baquero, and Marek Zawirski. 2011. Conflict-free Replicated Data Types (SSS'11). Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Werner Vogels. 2009. Eventually Consistent. Commun. ACM 52, 1 (2009), 40--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Nosheen Zaza and Nathaniel Nystrom. 2016. Data-centric Consistency Policies: A Programming Model for Distributed Applications with Tunable Consistency (PMLDC '16). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    FTFJP'17: Proceedings of the 19th Workshop on Formal Techniques for Java-like Programs
    June 2017
    49 pages
    ISBN:9781450350983
    DOI:10.1145/3103111

    Copyright © 2017 ACM

    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 the author(s) 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].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 18 June 2017

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • short-paper
    • Research
    • Refereed limited

    Acceptance Rates

    FTFJP'17 Paper Acceptance Rate10of12submissions,83%Overall Acceptance Rate51of75submissions,68%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader