Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2523616.2523632acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article
Open access

Consistency without borders

Published: 01 October 2013 Publication History
  • Get Citation Alerts
  • Abstract

    Distributed consistency is a perennial research topic; in recent years it has become an urgent practical matter as well. The research literature has focused on enforcing various flavors of consistency at the I/O layer, such as linearizability of read/write registers. For practitioners, strong I/O consistency is often impractical at scale, while looser forms of I/O consistency are difficult to map to application-level concerns. Instead, it is common for developers to take matters of distributed consistency into their own hands, leading to application-specific solutions that are tricky to write, test and maintain.
    In this paper, we agitate for the technical community to shift its attention to approaches that lie between the extremes of I/O-level and application-level consistency. We ground our discussion in early work in the area, including our own experiences building programmer tools and languages that help developers guarantee distributed consistency at the application level. Much remains to be done, and we highlight some of the challenges that we feel deserve more attention.

    References

    [1]
    S. E. Abdullahi and G. A. Ringwood. Garbage collecting the Internet: a survey of distributed garbage collection. ACM Computing Surveys, 30(3): 330--373, 1998.
    [2]
    P. Alvaro, T. Condie, N. Conway, K. Elmeleegy, J. M. Hellerstein, and R. Sears. BOOM Analytics: Exploring data-centric, declarative programming for the cloud. In EuroSys, 2010.
    [3]
    P. Alvaro, N. Conway, J. M. Hellerstein, and D. Maier. Blazes: coordination analysis for distributed programs. http://arxiv.org/abs/1309.3324, 2013. In submission.
    [4]
    P. Alvaro, N. Conway, J. M. Hellerstein, and W. R. Marczak. Consistency analysis in Bloom: a CALM and collected approach. In CIDR, 2011.
    [5]
    P. Alvaro, W. R. Marczak, N. Conway, J. M. Hellerstein, D. Maier, and R. Sears. Dedalus: Datalog in time and space. In O. de Moor, G. Gottlob, T. Furche, and A. Sellers, editors, Datalog Reloaded, volume 6702 of Lecture Notes in Computer Science, pages 262--281. Springer Berlin / Heidelberg, 2011.
    [6]
    T. J. Ameloot, F. Neven, and J. Van den Bussche. Relational transducers for declarative networking. In PODS, 2011.
    [7]
    M. S. Ardekani, P. Sutra, and M. Shapiro. Non-monotonic snapshot isolation: scalable and strong consistency for geo-replicated transactional systems. In SRDS, 2013.
    [8]
    B. R. Badrinath and K. Ramamrithan. Semantics-based concurrency control: Beyond commutativity. ACM Transactions on Database Systems, 17(1): 163--199, 1992.
    [9]
    P. Bailis, A. Davidson, A. Fekete, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Highly available transactions: Virtues and limitations. To appear in VLDB, 2014.
    [10]
    P. Bailis, A. Fekete, A. Ghodsi, J. M. Hellerstein, and I. Stoica. The potential dangers of causal consistency and an explicit solution. In SoCC, 2012.
    [11]
    D. Barbará-Millá and H. Garcia-Molina. The demarcation protocol: a technique for maintaining constraints in distributed database systems. The VLDB Journal, 3(3): 325--353, 1994.
    [12]
    P. A. Bernstein and N. Goodman. Concurrency control in distributed database systems. ACM Computing Surveys, 13(2): 185--221, 1981.
    [13]
    P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
    [14]
    K. Birman, G. Chockler, and R. van Renesse. Toward a cloud computing research agenda. SIGACT News, 40(2): 68--80, 2009.
    [15]
    K. Birman and T. Joseph. Exploiting virtual synchrony in distributed systems. In SOSP, 1987.
    [16]
    Bloom programming language. http://www.bloom-lang.org.
    [17]
    A. Brodsky and Y. Sagiv. Inference of monotonicity constraints in Datalog programs. In PODS, 1989.
    [18]
    N. Bronson, Z. Amsden, G. Cabrera, P. Chakka, P. Dimov, H. Ding, J. Ferris, A. Giardullo, S. Kulkarni, H. Li, M. Marchukov, D. Petrov, L. Puzar, Y. J. Song, and V. Venkataramani. Tao: Facebook's distributed data store for the social graph. In USENIX ATC, 2013.
    [19]
    R. Brown and S. Cribbs. Data structures in Riak. RICON 2012 (https://speakerdeck.com/basho/data-structures-in-riak).
    [20]
    K. M. Chandy and L. Lamport. Distributed snapshots: determining global states of distributed systems. ACM Transactions on Computer Systems, 3(1): 63--75, 1985.
    [21]
    K. M. Chandy and J. Misra. A distributed algorithm for detecting resource deadlocks in distributed systems. In PODC, 1982.
    [22]
    J. Cheney, L. Chiticariu, and W.-C. Tan. Provenance in databases: Why, how, and where. Foundations and Trends in Databases, 1(4): 379--474, 2009.
    [23]
    D. R. Cheriton and D. Skeen. Understanding the limitations of causally and totally ordered communication. In SOSP, 1993.
    [24]
    N. Conway, W. R. Marczak, P. Alvaro, J. M. Hellerstein, and D. Maier. Logic and lattices for distributed programming. In SoCC, 2012.
    [25]
    B. F. Cooper, R. Ramakrishnan, U. Srivastava, A. Silberstein, P. Bohannon, H.-A. Jacobsen, N. Puz, D. Weaver, and R. Yerneni. PNUTS: Yahoo!'s hosted data serving platform. In VLDB, 2008.
    [26]
    J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's globally-distributed database. In OSDI, 2012.
    [27]
    S. B. Davidson, H. Garcia-Molina, and D. Skeen. Consistency in Partitioned Networks. ACM Computing Surveys, 17(3): 341--370, 1985.
    [28]
    G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's highly available key-value store. In SOSP, 2007.
    [29]
    X. Défago, A. Schiper, and P. Urbán. Total order broadcast and multicast algorithms: Taxonomy and survey. ACM Computing Surveys, 36(4): 372--421, 2004.
    [30]
    A. A. Farrag and M. T. Özsu. Using semantic knowledge of transactions to increase concurrency. ACM Transactions on Database Systems, 14(4): 503--525, 1989.
    [31]
    A. Fekete. Allocating isolation levels to transactions. In PODS, 2005.
    [32]
    H. Garcia-Molina. Using semantic knowledge for transaction processing in a distributed database. ACM Transactions on Database Systems, 8(2): 186--213, 1983.
    [33]
    R. Geambasu, A. A. Levy, T. Kohno, A. Krishnamurthy, and H. M. Levy. Comet: an active distributed key-value store. In OSDI, 2010.
    [34]
    S. Gilbert and N. Lynch. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, 33(2): 51--59, 2002.
    [35]
    A. Gupta and I. S. Mumick. Maintenance of materialized views: Problems, techniques, and applications. IEEE Data Engineering Bulletin, 18(2): 3--18, 1995.
    [36]
    P. Helland and D. Campbell. Building on quicksand. In CIDR, 2009.
    [37]
    P. Helland and D. Haderle. Engagements: Building eventually ACiD business transactions. In CIDR, 2013.
    [38]
    J. M. Hellerstein. The Declarative Imperative: Experiences and conjectures in distributed logic. SIGMOD Record, 39(1): 5--19, 2010.
    [39]
    M. P. Herlihy. Optimistic concurrency control for abstract data types. In PODC, 1986.
    [40]
    M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3): 463--492, 1990.
    [41]
    L. Huelsbergen and P. Winterbottom. Very concurrent mark-&-sweep garbage collection without fine-grain synchronization. In International Symposium on Memory Management, 1998.
    [42]
    A. Kumar and M. Stonebraker. Semantics based transaction management techniques for replicated data. In SIGMOD, 1988.
    [43]
    J. Leibiusky, G. Eisbruch, and D. Simonassi. Getting Started with Storm - Continuous Streaming Computation with Twitter's Cluster Technology. O'Reilly, 2012.
    [44]
    W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS. In SOSP, 2011.
    [45]
    W. Lloyd, M. J. Freedman, M. Kaminsky, and D. G. Andersen. Stronger semantics for low-latency geo-replicated storage. In NSDI, 2013.
    [46]
    D. Maier, A. O. Mendelzon, and Y. Sagiv. Testing implications of data dependencies. ACM Transactions on Database Systems, 4(4): 455--469, 1979.
    [47]
    C. Malta and J. Martinez. A framework for designing concurrent and recoverable abstract data types based on commutativity. In International Symposium on Computer and Information Sciences, 1991.
    [48]
    W. R. Marczak, P. Alvaro, N. Conway, J. M. Hellerstein, and D. Maier. Confluence analysis for distributed programs: a model-theoretic approach. In Datalog 2.0, 2012.
    [49]
    P. E. O'Neil. The Escrow transactional method. ACM Transactions on Database Systems, 11(4): 405--430, 1986.
    [50]
    C. Papadimitriou. The serializability of concurrent database updates. Journal of the ACM, 26(4): 631--653, 1979.
    [51]
    H.-G. Roh, M. Jeon, J.-S. Kim, and J. Lee. Replicated abstract data types: Building blocks for collaborative applications. Journal of Parallel and Distributed Computing, 71(3): 354--368, 2011.
    [52]
    A. Schiper and A. Sandoz. Strong stable properties in distributed systems. Distributed Computing, 8(2): 93--103, 1994.
    [53]
    F. B. Schneider. Implementing fault-tolerant services using the state machine approach: a tutorial. ACM Computing Surveys, 22(4): 299--319, 1990.
    [54]
    P. M. Schwarz and A. Z. Spector. Synchronizing shared abstract types. ACM Transactions on Computer Systems, 2(3): 223--250, 1984.
    [55]
    M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. Conflict-free replicated data types. In International Symposium on Stabilization, Safety, and Security of Distributed Systems, 2011.
    [56]
    J. Shute, R. Vingralek, B. Samwel, B. Handy, C. Whipkey, E. Rollins, M. Oancea, K. Littlefield, D. Menestrina, S. Ellner, J. Cieslewicz, I. Rae, T. Stancescu, and H. Apte. F1: A distributed SQL database that scales. In VLDB, 2013.
    [57]
    Y. Sovran, R. Power, M. K. Aguilera, and J. Li. Transactional storage for geo-replicated systems. In SOSP, 2011.
    [58]
    P. A. Tucker, D. Maier, T. Sheard, and L. Fegaras. Exploiting punctuation semantics in continuous data streams. IEEE Transactions on Knowledge and Data Engineering, 15(3): 555--568, 2003.
    [59]
    W. Vogels. Eventually consistent. Communications of the ACM, 52(1): 40--44, 2009.
    [60]
    W. E. Weihl. Commutativity-based concurrency control for abstract data types. IEEE Transactions on Computers, 37(12): 1488--1505, 1988.

    Cited By

    View all
    • (2024)Using reactive links to propagate changes across engineering modelsSoftware and Systems Modeling10.1007/s10270-024-01186-wOnline publication date: 10-Jun-2024
    • (2023)Efficient linearizability checking for actor‐based systemsSoftware: Practice and Experience10.1002/spe.325153:11(2163-2199)Online publication date: 22-Aug-2023
    • (2022)Making Cache Monotonic and ConsistentProceedings of the VLDB Endowment10.14778/3574245.357427116:4(891-904)Online publication date: 1-Dec-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SOCC '13: Proceedings of the 4th annual Symposium on Cloud Computing
    October 2013
    427 pages
    ISBN:9781450324281
    DOI:10.1145/2523616
    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 ACM 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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 October 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    SOCC '13
    Sponsor:
    SOCC '13: ACM Symposium on Cloud Computing
    October 1 - 3, 2013
    California, Santa Clara

    Acceptance Rates

    SOCC '13 Paper Acceptance Rate 23 of 114 submissions, 20%;
    Overall Acceptance Rate 169 of 722 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)45
    • Downloads (Last 6 weeks)6

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Using reactive links to propagate changes across engineering modelsSoftware and Systems Modeling10.1007/s10270-024-01186-wOnline publication date: 10-Jun-2024
    • (2023)Efficient linearizability checking for actor‐based systemsSoftware: Practice and Experience10.1002/spe.325153:11(2163-2199)Online publication date: 22-Aug-2023
    • (2022)Making Cache Monotonic and ConsistentProceedings of the VLDB Endowment10.14778/3574245.357427116:4(891-904)Online publication date: 1-Dec-2022
    • (2022)Reactive links across multi-domain engineering modelsProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems10.1145/3550355.3552446(76-86)Online publication date: 23-Oct-2022
    • (2020)Replicated data types that unify eventual consistency and observable atomic consistencyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2020.100561(100561)Online publication date: May-2020
    • (2018)Safe replication through bounded concurrency verificationProceedings of the ACM on Programming Languages10.1145/32765342:OOPSLA(1-27)Online publication date: 24-Oct-2018
    • (2017)A Transactional Correctness Tool for Abstract Data TypesACM Transactions on Architecture and Code Optimization10.1145/314896414:4(1-24)Online publication date: 14-Nov-2017
    • (2017)Data Storage Management in Cloud EnvironmentsACM Computing Surveys10.1145/313662350:6(1-51)Online publication date: 11-Dec-2017
    • (2017)BlazesACM Transactions on Database Systems10.1145/311021442:4(1-31)Online publication date: 27-Oct-2017
    • (2017)Seeing is BelievingProceedings of the ACM Symposium on Principles of Distributed Computing10.1145/3087801.3087802(73-82)Online publication date: 25-Jul-2017
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media