skip to main content
10.1145/1993806.1993834acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

Analyzing consistency properties for fun and profit

Published:06 June 2011Publication History

ABSTRACT

Motivated by the increasing popularity of eventually consistent key-value stores as a commercial service, we address two important problems related to the consistency properties in a history of operations on a read/write register (i.e., the start time, finish time, argument, and response of every operation). First, we consider how to detect a consistency violation as soon as one happens. To this end, we formulate a specification for online verification algorithms, and we present such algorithms for several well-known consistency properties. Second, we consider how to quantify the severity of the violations, if a history is found to contain consistency violations. We investigate two quantities: one is the staleness of the reads, and the other is the commonality of violations. For staleness, we further consider time-based staleness and operation-count-based staleness. We present efficient algorithms that compute these quantities. We believe that addressing these problems helps both key-value store providers and users adopt data consistency as an important aspect of key-value store offerings.

References

  1. A. Aiyer, L. Alvisi, and R. A. Bazzi. One the availability of non-strict quorum systems. In Proceedings of the 19th International Symposium on Distributed Computing (DISC), pages 48--62, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Amazon's Simple Storage Service. Available at http://aws.amazon.com/s3.Google ScholarGoogle Scholar
  3. Amazon's SimpleDB. Available at http://aws.amazon.com/simpledb.Google ScholarGoogle Scholar
  4. E. Anderson, X. Li, A. Merchant, M. A. Shah, K. Smathers, J. Tucek, M. Uysal, and J. J. Wylie. Efficient eventual consistency in Pahoehoe, an erasure-coded key-blob archive. In Proceedings of the 2010 IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), pages 181--190, January 2010.Google ScholarGoogle ScholarCross RefCross Ref
  5. E. Anderson, X. Li, M. A. Shah, J. Tucek, and J. Wylie. What consistency does your key-value store actually provide? In Proceedings of the Sixth Workshop on Hot Topics in System Dependability (HotDep), October 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. Brewer. Towards robust distributed systems, 2000. Available at http://www.cs.berkeley.edu/ brewer/cs262b-2004/PODC-keynote.pdf.Google ScholarGoogle Scholar
  7. J. F. Cantin, M. H. Lipasti, and J. E. Smith. The complexity of verifying memory coherence and consistency. IEEE Transactions on Parallel and Distributed Systems, 16(7):663--671, July 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cassandra. Available at http://incubator.apache.org/cassandra/.Google ScholarGoogle Scholar
  9. B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with YCSB. In ACM Symposium on Cloud Computing (SoCC), pages 143--154, June 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 Proceedings of the 21st ACM Symposium on Operating System Principles (SOSP), pages 205--220, October 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Fekete, S. N. Goldrei, and J. P. Asejo. Quantifying isolation anomalies. In Proceedings of the 35th International Conference on Very Large Data Bases (VLDB), pages 467--478, August 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. R. Garey, R. L. Graham, D. S. Johnson, and D. E. Knuth. Complexity results for bandwidth minimization. SIAM Journal on Applied Mathematics, 34(3):477--495, May 1978.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, NY, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Gibbons and E. Korach. Testing shared memories. SIAM Journal on Computing, 26:1208--1244, August 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. W. Golab, X. Li, and M. A. Shah. Analyzing consistency properties for fun and profit. Technical Report HPL-2011-6, Hewlett-Packard Laboratories, 2011. Available at http://www.hpl.hp.com/techreports/2011/HPL-2011-6.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Google Storage for Developers. Available at http://code.google.com/apis/storage.Google ScholarGoogle Scholar
  17. U. I. Gupta, D. T. Lee, and J. Y.-T. Leung. Efficient algorithms for interval graphs and circular-arc graphs. Networks, 12:459--467, Winter 1982.Google ScholarGoogle ScholarCross RefCross Ref
  18. M. Herlihy and J. M. Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems, 12(3):463--492, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. J. Kleitman and R. V. Vohra. Computing the bandwidth of interval graphs. SIAM Journal on Discrete Mathematics, 3(3):373--375, August 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Krishnakumar and A. J. Bernstein. Bounded ignorance in replicated systems. In Proceedings of the Tenth ACM Symposium on Principles of Database Systems (PODS), pages 63--74, May 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers, C-28(9):690--691, September 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. L. Lamport. On interprocess communication, Part I: Basic formalism and Part II: Algorithms. Distributed Computing, 1(2):77--101, June 1986.Google ScholarGoogle ScholarCross RefCross Ref
  23. J. Misra. Axioms for memory access in asynchronous hardware systems. ACM Transactions on Programming Languages and Systems, 8(1):142--153, January 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. H. Papadimitriou. The NP-completeness of the bandwidth minimization problem. Computing, 16(3):263--270, September 1976.Google ScholarGoogle ScholarCross RefCross Ref
  25. J. Saxe. Dynamic-programming algorithms for recognizing small-bandwidth graphs in polynomial time. SIAM Journal on Algebraic and Discrete Methods, 1(4):363--369, December 1980.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. Singla, U. Ramachandran, and J. Hodgins. Temporal notions of synchronization and consistency in Beehive. In Proceedings of the Ninth ACM Symposium on Parallel Algorithms and Architectures (SPAA), pages 211--220, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. N. Taylor. Complexity of analyzing the synchronization structure of concurrent progreams. Acta Informatica, 19(1):57--84, April 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. F. J. Torres-Rojas, M. Ahamad, and M. Raynal. Timed consistency for shared distributed objects. In Proceedings of the 18th ACM Symposium on Principles of Distributed Computing (PODC), pages 163--172, May 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. W. Vogels. Eventually consistent. Communications of the ACM, 52(1):40--44, January 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Voldemort. Available at http://project-voldemort.com/.Google ScholarGoogle Scholar
  31. H. Wada, A. Fekete, L. Zhao, K. Lee, and A. Liu. Data consistency properties and the trade-offs in commercial cloud storages: the consumers' perspective. In Proceedings of the Fifth Biennial Conference on Innovative Data Systems Research (CIDR), January 2011.Google ScholarGoogle Scholar
  32. H. Yu and A. Vahdat. Design and evaluation of a conit-based continuous consistency model for replicated services. ACM Transactions on Computer Systems, 20(3):239--282, August 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analyzing consistency properties for fun and profit

      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 Conferences
        PODC '11: Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
        June 2011
        406 pages
        ISBN:9781450307192
        DOI:10.1145/1993806

        Copyright © 2011 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 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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 June 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate740of2,477submissions,30%

        Upcoming Conference

        PODC '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader