ICFEM 2014: Formal Methods and Software Engineering pp 332-347 | Cite as
Formal Modeling and Analysis of Cassandra in Maude
Abstract
Distributed key-value stores are quickly becoming a key component of cloud computing systems. In order to improve read/write latency, distributed key-value stores offer weak notions of consistency to clients by using many complex design decisions. However, it is challenging to formally analyze consistency behaviors of such systems, both because there are few formal models, and because different consistency level combinations render understanding hard, particularly under communication latency. This paper presents for the first time a formal executable model in Maude of Cassandra, a popular key-value store. We formally models Cassandra’s main components and design strategies. We formally specify various consistency properties and model check them against our model under various communication latency and consistency combinations.
Keywords
Model Check Linear Temporal Logic Strong Consistency Global Time Consistency LevelPreview
Unable to display preview. Download preview PDF.
References
- 1.Basho Riak, http://basho.com/riak/
- 2.Cassandra, http://cassandra.apache.org/
- 3.DB-Engines, http://db-engines.com/en/ranking
- 4.Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
- 5.Bailis, P., Venkataraman, S., Franklin, M.J., Hellerstein, J.M., Stoica, I.: Probabilistically bounded staleness for practical partial quorums. Proc. VLDB Endow. 5(8), 776–787Google Scholar
- 6.Bouajjani, A., Enea, C., Hamza, J.: Verifying eventual consistency of optimistic replication systems. In: POPL, pp. 285–296 (2014)Google Scholar
- 7.Brewer, E.A.: Towards robust distributed systems (abstract). In: PODC, p. 7 (2000)Google Scholar
- 8.Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)MATHGoogle Scholar
- 9.Eckhardt, J., Mühlbauer, T., AlTurki, M., Meseguer, J., Wirsing, M.: Stable availability under denial of service attacks through formal patterns. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering. LNCS, vol. 7212, pp. 78–93. Springer, Heidelberg (2012)CrossRefGoogle Scholar
- 10.Eckhardt, J., Mühlbauer, T., Meseguer, J., Wirsing, M.: Statistical model checking for composite actor systems. In: Martí-Oliet, N., Palomino, M. (eds.) WADT 2012. LNCS, vol. 7841, pp. 143–160. Springer, Heidelberg (2013)CrossRefGoogle Scholar
- 11.Grov, J., Ölveczky, P.C.: Formal Modeling and Analysis of Google’s Megastore in Real-Time Maude. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 494–519. Springer, Heidelberg (2014)CrossRefGoogle Scholar
- 12.Hewitt, E.: Cassandra: The Definitive Guide. O’Reilly Media, Sebastopol (2010)Google Scholar
- 13.Li, C., Porto, D., Clement, A., Gehrke, J., Preguiça, N., Rodrigues, R.: Making geo-replicated systems fast as possible, consistent when necessary. In: Proc. USENIX Conference on Operating Systems Design and Implementation (OSDI), pp. 265–278 (2012)Google Scholar
- 14.Liu, S., Rahman, M., Skeirik, S., Gupta, I., Meseguer, J.: Formal modeling and analysis of Cassandra in Maude (2014), https://sites.google.com/site/siliunobi/icfem-cassandra
- 15.Lloyd, W., Freedman, M.J., Kaminsky, M., Andersen, D.G.: Don’t settle for eventual: Scalable causal consistency for wide-area storage with cops. In: Proc. ACM Symposium on Operating Systems Principles (SOSP), pp. 401–416 (2011)Google Scholar
- 16.Meseguer, J., Talcott, C.: Semantic models for distributed object reflection. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 1–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 17.Rahman, M.R., Golab, W., AuYoung, A., Keeton, K., Wylie, J.J.: Toward a principled framework for benchmarking consistency. In: Proc. USENIX Workshop on Hot Topics in System Dependability, HotDep (2012)Google Scholar
- 18.Shapiro, M., Preguiça, N.M., Baquero, C., Zawirski, M.: Convergent and commutative replicated data types. Bulletin of the EATCS 104, 67–88 (2011)MATHGoogle Scholar
- 19.Skeirik, S., Bobba, R.B., Meseguer, J.: Formal analysis of fault-tolerant group key management using ZooKeeper. In: Proc. Symposium on Cluster, Cloud, and Grid Computing (CCGRID), pp. 636–641 (2013)Google Scholar
- 20.Vogels, W.: Amazon’s dynamo. All Things Distributed (October 2007), http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
- 21.Vogels, W.: Eventually consistent. ACM Queue 6(6), 14–19 (2008)CrossRefGoogle Scholar
- 22.Wirsing, M., Eckhardt, J., Mühlbauer, T., Meseguer, J.: Design and analysis of cloud-based architectures with KLAIM and maude. In: Durán, F. (ed.) WRLA 2012. LNCS, vol. 7571, pp. 54–82. Springer, Heidelberg (2012)CrossRefGoogle Scholar