Formal Aspects of Computing

, Volume 31, Issue 5, pp 503–540 | Cite as

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

  • Si Liu
  • Peter Csaba ÖlveczkyEmail author
  • Qi Wang
  • Indranil Gupta
  • José Meseguer
Original Article


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.


Distributed database systems Transaction protocols Consistency models Performance evaluation Statistical model checking Rewriting logic Maude 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



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.


  1. Ady99.
    Adya A (1999) Weak consistency: a generalized theory and optimistic implementations for distributed transactions. PhD thesis, MIT, CambridgeGoogle Scholar
  2. AM11.
    AlTurki M, Meseguer J (2011) PVeStA: a parallel statistical model checking and quantitative analysis tool. In: CALCO'11, volume 6859 of LNCS. Springer, BerlinGoogle Scholar
  3. AMS06.
    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)CrossRefGoogle Scholar
  4. ASS13.
    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–172Google Scholar
  5. B+11.
    Baker J et al (2011) Megastore: providing scalable, highly available storage for interactive services. In: CIDR'11.,
  6. BAM10.
    Benson T, Akella A, Maltz DA (2010) Network traffic characteristics of data centers in the wild. In: IMC, pp 267–280Google Scholar
  7. BFG+16.
    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:45Google Scholar
  8. BFH+14.
    Bailis P, Fekete A, Hellerstein JM, Ghodsi A, Stoica I (2014) Scalable atomic visibility with RAMP transactions. In: Proceeding of the SIGMOD'14. ACMGoogle Scholar
  9. BGG+18.
    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. CBG15.
    Cerone A, Bernardi G, Gotsman A (2015) A framework for transactional consistency models with atomic visibility. In: CONCUR. Schloss Dagstuhl–Leibniz-Zentrum fuer InformatikGoogle Scholar
  11. CDE+07.
    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, BerlinGoogle Scholar
  12. CST+10.
    Cooper BF, Silberstein A, Tam E, Ramakrishnan R, Sears R (2010) Benchmarking cloud serving systems with YCSB. In: SOCC, pp 143–154Google Scholar
  13. EMMW13.
    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, BerlinGoogle Scholar
  14. GÖ14a.
    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, BerlinGoogle Scholar
  15. GÖ14b.
    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, BerlinGoogle Scholar
  16. Hew10.
    Hewitt, E.: Cassandra: the definitive guide. O'Reilly Media, Newton (2010)Google Scholar
  17. HHK+15.
    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, CambridgeGoogle Scholar
  18. LGR+17.
    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:26Google Scholar
  19. LHJ+14.
    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, BerkeleyGoogle Scholar
  20. LNG+15.
    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–243Google Scholar
  21. LÖG+17.
    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, BerlinGoogle Scholar
  22. LÖR+16.
    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, CambridgeGoogle Scholar
  23. LÖS+18.
    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. LÖWM18.
    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, BerlinGoogle Scholar
  25. LÖZ+19.
    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. LRS+14.
    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, BerlinGoogle Scholar
  27. Mes92.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoret Comput Sci 96(1), 73–155 (1992)MathSciNetCrossRefGoogle Scholar
  28. Mes98.
    Meseguer J (1998) Membership algebra as a logical framework for equational specification. In: Proceedings of the WADT'97, volume 1376 of LNCS. Springer, BerlinGoogle Scholar
  29. Mes18.
    Meseguer J (2018) Formal design of cloud computing systems in Maude. Technical report, University of Illinois at Urbana-ChampaignGoogle Scholar
  30. NRZ+15.
    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)CrossRefGoogle Scholar
  31. Ölv17.
    Ö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, BerlinGoogle Scholar
  32. ÖM07.
    Ölveczky, P.C., Meseguer, J.: Semantics and pragmatics of real-time Maude. High Order Symb Comput 20(1–2), 161–196 (2007)CrossRefGoogle Scholar
  33. pri.
  34. SPAL11.
    Sovran Y, Power R, Aguilera MK, Li J (2011) Transactional storage for geo-replicated systems. In: SOSP 2011. ACM, CambridgeGoogle Scholar
  35. SSP10.
    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 YorkGoogle Scholar
  36. SVA05a.
    Sen K, Viswanathan M, Agha G (2005) On statistical model checking of stochastic systems. In: CAV'05, volume 3576 of LNCS. Springer, BerlinGoogle Scholar
  37. SVA05b.
    Sen K, Viswanathan M, Agha GA (2005) VESTA: a statistical model-checker and analyzer for probabilistic systems. In: QEST'05. IEEE Computer Society, New YorkGoogle Scholar
  38. upp.
  39. YCW+09.
    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–228Google Scholar
  40. YS06.
    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)MathSciNetCrossRefGoogle Scholar
  41. ZSS+15.
    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, 2015Google Scholar

Copyright information

© British Computer Society 2019

Authors and Affiliations

  • Si Liu
    • 1
  • Peter Csaba Ölveczky
    • 2
    Email author
  • Qi Wang
    • 1
  • Indranil Gupta
    • 1
  • José Meseguer
    • 1
  1. 1.University of IllinoisUrbana-ChampaignUSA
  2. 2.University of OsloOsloNorway

Personalised recommendations