Skip to main content
Log in

Read atomic transactions with prevention of lost updates: ROLA and its formal analysis

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Designers of distributed database systems face the choice between stronger consistency guarantees and better performance. A number of applications only require read atomicity (RA) (either all or none of a transaction’s updates are visible to other transactions) and prevention of lost updates (PLU). Existing distributed transaction systems that meet these requirements also provide additional stronger consistency guarantees (such as causal consistency), but this comes at the price of lower performance. In this paper we propose a new distributed transaction protocol, ROLA, that targets application scenarios where only RA and PLU are needed. We formally specify ROLA in Maude. We then perform model checking to analyze both the correctness and the performance of ROLA. For correctness, we use standard model checking to analyze ROLA’s satisfaction of RA and PLU. To analyze performance we: (a) perform statistical model checking to analyze key performance properties; and (b) compare these performance results with those obtained by also modeling and analyzing in Maude the well-known protocols Walter and Jessy that also guarantee RA and PLU. Our statistical model checking results show that ROLA outperforms both Walter and Jessy.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Adya A (1999) Weak consistency: a generalized theory and optimistic implementations for distributed transactions. PhD thesis, MIT, Cambridge

  2. AlTurki M, Meseguer J (2011) PVeStA: a parallel statistical model checking and quantitative analysis tool. In: CALCO'11, volume 6859 of LNCS. Springer, Berlin

  3. Agha, G.A., Meseguer, J., Koushik, S.: PMaude: rewrite-based specification language for probabilistic object systems. Electr Notes Theor Comput Sci 153(2), 213–239 (2006)

    Article  Google Scholar 

  4. Ardekani MS, Sutra P, Shapiro M (2013) Non-monotonic snapshot isolation: scalable and strong consistency for geo-replicated transactional systems. In: SRDS, IEEE Computer Society, pp 163–172

  5. Baker J et al (2011) Megastore: providing scalable, highly available storage for interactive services. In: CIDR'11. www.cidrdb.org,

  6. Benson T, Akella A, Maltz DA (2010) Network traffic characteristics of data centers in the wild. In: IMC, pp 267–280

  7. Bailis P, Fekete A, Ghodsi A, Hellerstein JM, Stoica I (2016) Scalable atomic visibility with RAMP transactions. ACM Trans Database Syst, 41(3):15:1–15:45

  8. Bailis P, Fekete A, Hellerstein JM, Ghodsi A, Stoica I (2014) Scalable atomic visibility with RAMP transactions. In: Proceeding of the SIGMOD'14. ACM

  9. Bobba, R., Grov, J., Gupta, I., Liu, S., Meseguer, J., Ölveczky, P.C., Skeirik, S.: Survivability: design, formal modeling, and validation of cloud storage systems using Maude. In: Campbell, R.H., Kamhoua, C.A., Kwiat, K.A. (eds.) Assured cloud computing. Wiley-IEEE Computer Society Press, New Yok (2018)

    Google Scholar 

  10. Cerone A, Bernardi G, Gotsman A (2015) A framework for transactional consistency models with atomic visibility. In: CONCUR. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik

  11. Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott CL (2007) All about maude, volume 4350 of LNCS. Springer, Berlin

  12. Cooper BF, Silberstein A, Tam E, Ramakrishnan R, Sears R (2010) Benchmarking cloud serving systems with YCSB. In: SOCC, pp 143–154

  13. Eckhardt J, Mühlbauer T, Meseguer J, Wirsing M (2013) Statistical model checking for composite actor systems. In: WADT'12, volume 7841 of LNCS. Springer, Berlin

  14. Grov J, Ölveczky PC (2014) Formal modeling and analysis of Google's Megastore in Real-Time Maude. In: Specification, algebra, and software, volume 8373 of LNCS. Springer, Berlin

  15. Grov J, Ölveczky PC (2014) Increasing consistency in multi-site data stores: Megastore-CGC and its formal analysis. In: SEFM, volume 8702 of LNCS. Springer, Berlin

  16. Hewitt, E.: Cassandra: the definitive guide. O'Reilly Media, Newton (2010)

    Google Scholar 

  17. Hawblitzel C, Howell J, Kapritsos M, Lorch JR, Parno B, Roberts ML, Setty STV, Zill B (2015) IronFleet: proving practical distributed systems correct. In: Proceedings of the 25th symposium on operating systems principles (SOSP'15). ACM, Cambridge

  18. Liu S, Ganhotra J, Rahman M, Nguyen S, Gupta I, Meseguer J (2017) Quantitative analysis of consistency in NoSQL key-value stores. Leibniz Trans Embed Syst, 4(1):03:1–03:26

  19. Leesatapornwongsa T, Hao M, Joshi P, Lukman JF, Gunawi HS (2014) SAMC: semantic-aware model checking for fast discovery of deep bugs in cloud systems. In: 11th USENIX symposium on operating systems design and implementation (OSDI'14). USENIX Association, Berkeley

  20. Liu S, Nguyen S, Ganhotra J, Rahman MR, Gupta I, Meseguer J (2015) Quantitative analysis of consistency in NoSQL key-value stores. In: QEST, pp 228–243

  21. Liu S, Ölveczky PC, Ganhotra J, Gupta I, Meseguer J (2017) Exploring design alternatives for RAMP transactions through statistical model checking. In: Proceedings of the ICFEM'17, volume 10610 of LNCS. Springer, Berlin

  22. Liu S, Ölveczky PC, Rahman MR, Ganhotra J, Gupta I, Meseguer J (2016) Formal modeling and analysis of RAMP transaction systems. In: SAC'16. ACM, Cambridge

  23. Liu, S., Ölveczky, P.C., Santhanam, K., Wang, Q., Gupta, I., Meseguer, J.: ROLA: a new distributed transaction protocol and its formal analysis. FASE, volume 10802 of LNCS, pp. 77–93. Springer, Berlin (2018)

    Google Scholar 

  24. Liu S, Ölveczky PC, Wang Q, Meseguer J (2018) Formal modeling and analysis of the Walter transactional data store. In: WRLA, volume 11152 of LNCS. Springer, Berlin

  25. Liu, S., Ölveczky, P.C., Zhang, M., Wang, Q., Meseguer, J.: Automatic analysis of consistency properties of distributed transaction systems in Maude. TACAS'19, volume 11428 of LNCS, pp. 40–57. Springer, Berlin (2019)

    Google Scholar 

  26. Liu S, Rahman MR, Skeirik S, Gupta I, Meseguer J (2014) Formal modeling and analysis of Cassandra in Maude. In: ICFEM'14, volume 8829 of LNCS. Springer, Berlin

  27. Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoret Comput Sci 96(1), 73–155 (1992)

    Article  MathSciNet  Google Scholar 

  28. Meseguer J (1998) Membership algebra as a logical framework for equational specification. In: Proceedings of the WADT'97, volume 1376 of LNCS. Springer, Berlin

  29. Meseguer J (2018) Formal design of cloud computing systems in Maude. Technical report, University of Illinois at Urbana-Champaign

  30. Newcombe, C., Rath, T., Zhang, F., Munteanu, B., Brooker, M., Deardeuff, M.: How Amazon web services uses formal methods. Commun ACM 58(4), 66–73 (2015)

    Article  Google Scholar 

  31. Ölveczky PC (2017) Formalizing and validating the P-Store replicated data store in Maude. In: Proceedings of the WADT'16, volume 10644 of Lecture Notes in Computer Science. Springer, Berlin

  32. Ölveczky, P.C., Meseguer, J.: Semantics and pragmatics of real-time Maude. High Order Symb Comput 20(1–2), 161–196 (2007)

    Article  Google Scholar 

  33. PRISM. http://www.prismmodelchecker.org/

  34. Sovran Y, Power R, Aguilera MK, Li J (2011) Transactional storage for geo-replicated systems. In: SOSP 2011. ACM, Cambridge

  35. Schiper N, Sutra P, Pedone F (2010) P-Store: genuine partial replication in wide area networks. In: Proceedings of the SRDS'10. IEEE Computer Society, New York

  36. Sen K, Viswanathan M, Agha G (2005) On statistical model checking of stochastic systems. In: CAV'05, volume 3576 of LNCS. Springer, Berlin

  37. Sen K, Viswanathan M, Agha GA (2005) VESTA: a statistical model-checker and analyzer for probabilistic systems. In: QEST'05. IEEE Computer Society, New York

  38. Uppaal SMC. http://people.cs.aau.dk/~adavid/smc/

  39. Yang J, Chen T, Wu M, Xu Z, Liu X, Lin H, Yang M, Long F, Zhang L, Zhou L (2009) MODIST: transparent model checking of unmodified distributed systems. In: Proceedings of the 6th USENIX symposium on networked systems design and implementation (NSDI'09),USENIX Association, pp 213–228

  40. Younes, H.L.S., Simmons, R.G.: Statistical probabilistic model checking with a focus on time-bounded properties. Inf Comput 204(9), 1368–1409 (2006)

    Article  MathSciNet  Google Scholar 

  41. Zhang I, Sharma NK, Szekeres A, Krishnamurthy A, Ports DRK (2015) Building consistent transactions with inconsistent replication. In: Proceedings of the symposium on operating systems principles, (SOSP'15). ACM, 2015

Download references

Acknowledgements

We thank Keshav Santhanam, Andrea Cerone, Alexey Gotsman, Jatin Ganhotra, and RohitMukerji for helpful early discussions on this work, and the anonymous reviewers for very useful comments on an earlier version of this paper. This work was supported in part by the following Grants: NSF CNS 1409416, AFOSR/AFRL FA8750-11-2-0084, NRL contract N00173-17-1-G002, and a gift from Microsoft.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Csaba Ölveczky.

Additional information

Alessandra Russo, Andy Schuerr, and Heike Wehrheim

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liu, S., Ölveczky, P.C., Wang, Q. et al. Read atomic transactions with prevention of lost updates: ROLA and its formal analysis. Form Asp Comp 31, 503–540 (2019). https://doi.org/10.1007/s00165-019-00489-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-019-00489-w

Keywords

Navigation