skip to main content
10.1145/3545258.3545262acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
research-article

Incremental Causal Consistency Checking for Read-Write Memory Histories

Published: 15 September 2022 Publication History

Abstract

Causal consistency is one of the strongest consistency models that can be implemented to ensure availability under network partition in distributed systems. The problem of causal consistency checking asks whether a given history of some system is causally consistent. Recently Bouajjani et al. showed that for read-write memory histories in which writes assign unique values to each variable, this can be solved in polynomial time. The algorithm searches for bad patterns of causal consistency, which are defined using various relations derived from history. However, the high time complexity of the algorithm makes it not so practical. In this paper, we show how to improve this checking algorithm by incrementally computing the relations underlying the bad patterns. We also demonstrate its efficiency by conducting experiments on both random histories and those generated by MongoDB.

References

[1]
Daniel Abadi. 2012. Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. Computer 45, 2 (2012), 37–42.
[2]
Mustaque Ahamad, Gil Neiger, James E Burns, Prince Kohli, and Phillip W Hutto. 1995. Causal memory: definitions, implementation, and programming. Distributed Computing 9, 1 (1995), 37–49.
[3]
Peter Bailis, Ali Ghodsi, Joseph M Hellerstein, and Ion Stoica. 2013. Bolt-on causal consistency. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. 761–772.
[4]
Ahmed Bouajjani, Constantin Enea, Rachid Guerraoui, and Jad Hamza. 2017. On verifying causal consistency. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages. 626–638.
[5]
Sebastian Burckhardt, Alexey Gotsman, Hongseok Yang, and Marek Zawirski. 2014. Replicated data types: specification, verification, optimality. In Proceedings of the 41th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Vol. 49. 271–284.
[6]
Brian F Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM symposium on Cloud computing. 143–154.
[7]
Michael Emmi and Constantin Enea. 2018. Monitoring weak consistency. In International Conference on Computer Aided Verification. Springer, 487–506.
[8]
Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (July 1978), 558–565.
[9]
Mohsen Lesani, Christian J Bell, and Adam Chlipala. 2016. Chapar: certified causally consistent distributed key-value stores. In Proceedings of the 43rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 357–370.
[10]
Wyatt Lloyd, Michael J Freedman, Michael Kaminsky, and David G Andersen. 2011. Don’t settle for eventual: Scalable causal consistency for wide-area storage with COPS. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles. 401–416.
[11]
Prince Mahajan, Lorenzo Alvisi, Mike Dahlin, 2011. Consistency, availability, and convergence. University of Texas at Austin Tech Report 11 (2011), 158.
[12]
Hongrong Ouyang, Hengfeng Wei, and Yu Huang. 2020. Checking Causal Consistency of MongoDB. In 12th Asia-Pacific Symposium on Internetware. 209–216.
[13]
Kit Patella. 2018. Jepsen Testing of MongoDB 3.6.4.
[14]
Matthieu Perrin, Achour Mostefaoui, and Claude Jard. 2016. Causal consistency: beyond memory. In Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. 1–12.
[15]
Robert C Steinke and Gary J Nutt. 2004. A unified theory of shared memory consistency. Journal of the ACM (JACM) 51, 5 (2004), 800–849.
[16]
The MongoDB Team. 2017. MongoDB 3.6.0-rc0 is released.
[17]
Misha Tyulenev, Andy Schwerin, Asya Kamsky, Randolph Tan, Alyson Cabral, and Jack Mulrow. 2019. Implementation of cluster-wide logical clock and causal consistency in MongoDB. In Proceedings of the 2019 International Conference on Management of Data. 636–650.
[18]
Hengfeng Wei, Marzio De Biasi, Yu Huang, Jiannong Cao, and Jian Lu. 2016. Verifying Pipelined-RAM Consistency over Read/Write Traces of Data Replicas. IEEE Transactions on Parallel and Distributed Systems 27, 5 (2016), 1511–1523.
[19]
Yuan Yu, Panagiotis Manolios, and Leslie Lamport. 1999. Model checking TLA+ specifications. In Advanced research working conference on correct hardware design and verification methods. Springer, 54–66.
[20]
Rachid Zennou, Ranadeep Biswas, Ahmed Bouajjani, Constantin Enea, and Mohammed Erradi. 2019. Checking Causal Consistency of Distributed Databases. In International Conference on Networked Systems. Springer, 35–51.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '22: Proceedings of the 13th Asia-Pacific Symposium on Internetware
June 2022
291 pages
ISBN:9781450397803
DOI:10.1145/3545258
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: 15 September 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Causal Consistency
  2. Consistency Checking
  3. Consistency Models

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

Internetware 2022

Acceptance Rates

Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 21
    Total Downloads
  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media