On the Behaviour of General-Purpose Applications on Cloud Storages

  • Laura Bocchi
  • Hernán Melgratti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8379)


Managing data over cloud infrastructures raises novel challenges with respect to existing and well studied approaches such as ACID and long running transactions. One of the main requirements is to provide availability and partition tolerance in a scenario with replicas and distributed control. This comes at the price of a weaker consistency, usually called eventual consistency. These weak memory models have proved to be suitable in a number of scenarios, such as the analysis of large data with Map-Reduce. However, due to the widespread availability of cloud infrastructures, weak storages are used not only by specialised applications but also by general purpose applications. We provide a formal approach, based on process calculi, to reason about the behaviour of programs that rely on cloud stores. For instance, one can check that the composition of a process with a cloud store ensures ‘strong’ properties through a wise usage of asynchronous message-passing.



We thank the anonymous reviewers of WS-FM 2013 and Emilio Tuosto for their insightful and helpful comments on the previous version of this paper.


  1. 1.
    Alglave, J., Maranget, L., Sarkar, S., Sewell, P.: Fences in weak memory models (extended version). Formal Methods Syst. Des. 40(2), 170–205 (2012)CrossRefzbMATHGoogle Scholar
  2. 2.
    Bailis, P., Ghodsi, A.: Eventual consistency today: limitations, extensions, and beyond. Commun. ACM 56(5), 55–63 (2013)CrossRefGoogle Scholar
  3. 3.
    Boudol, G., Petri, G.: Relaxed memory models: an operational approach. In: Shao, Z., Pierce, B.C. (ed.) POPL, pp. 392–403. ACM (2009)Google Scholar
  4. 4.
    Burckhardt, S., Fähndrich, M., Leijen, D., Wood, B.P.: Cloud types for eventual consistency. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 283–307. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  5. 5.
    Burckhardt, S., Leijen, D., Fähndrich, M., Sagiv, M.: Eventually consistent transactions. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 67–86. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  6. 6.
    DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: amazon’s highly available key-value store. SIGOPS Oper. Syst. Rev. 41(6), 205–220 (2007)CrossRefGoogle Scholar
  7. 7.
    Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)CrossRefGoogle Scholar
  8. 8.
    Goto, M., Jagadeesan, R., Ptcher, C., Riely, J.: Types for relaxed memory models. In: Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation, TLDI ’12, pp. 25–38. ACM, New York (2012)Google Scholar
  9. 9.
    Kossmann, D., Kraska, T., Loesing, S.: An evaluation of alternative architectures for transaction processing in the cloud. In: Elmagarmid, A.K., Agrawal, D. (ed.) SIGMOD Conference, pp. 579–590. ACM (2010)Google Scholar
  10. 10.
    Lamport, L.: Fairness and hyperfairness. Distrib. Comput. 13(4), 239–245 (2000)CrossRefGoogle Scholar
  11. 11.
    Madhusudan, P., Seshia, Sanjit A. (eds.): CAV 2012. LNCS, vol. 7358. Springer, Heidelberg (2012)zbMATHGoogle Scholar
  12. 12.
    Milner, R.: A Calculus of Communicating Systems. Springer-Verlag New York Inc., Secaucus (1982)Google Scholar
  13. 13.
    Pritchett, D.: Base: an acid alternative. Queue 6(3), 48–55 (2008)CrossRefGoogle Scholar
  14. 14.
    Ridge, T.: A rely-guarantee proof system for x86-TSO. In: Leavens, G.T., O’Hearn, P., Rajamani, S.K. (eds.) VSTTE 2010. LNCS, vol. 6217, pp. 55–70. Springer, Heidelberg (2010) CrossRefGoogle Scholar
  15. 15.
    Sarkar, S., Sewell, P., Alglave, J., Maranget, L., Williams, D.: Understanding power multiprocessors. SIGPLAN Not. 47(6), 175–186 (2011)CrossRefGoogle Scholar
  16. 16.
    Sevcík, J., Vafeiadis, V., Nardelli, F.Z., Jagannathan, S., Sewell, P.: Relaxed-memory concurrency and verified compilation. In: Ball, T., Sagiv, M. (ed.) POPL, pp. 43–54. ACM (2011)Google Scholar
  17. 17.
    Sevcík, J., Vafeiadis, V., Nardelli, F.Z., Jagannathan, S., Sewell, P.: Compcerttso: a verified compiler for relaxed-memory concurrency. J. ACM 60(3), 22 (2013)CrossRefMathSciNetGoogle Scholar
  18. 18.
    Sewell, P., Sarkar, S., Owens, S., Nardelli, F.Z., Myreen, M.O.: x86-tso: a rigorous and usable programmer’s model for x86 multiprocessors. Commun. ACM 53(7), 89–97 (2010)CrossRefGoogle Scholar
  19. 19.
    Shapiro, M., Kemme, B.: Eventual consistency. In: Özsu, M.T., Liu, L. (eds.) Encyclopedia of Database Systems (Online and Print). Springer, New York (2009) Google Scholar
  20. 20.
    Tanenbaum, A.S., van Steen, M.: Distributed Systems - Principles and Paradigms, 2nd edn. Pearson Education, Upper Saddle River (2007)zbMATHGoogle Scholar
  21. 21.
    Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)CrossRefGoogle Scholar
  22. 22.
    von Gleissenthall, K., Rybalchenko, A.: An epistemic perspective on consistency of concurrent computations. CoRR, abs/1305.2295 (2013)Google Scholar

Copyright information

© Science and Engineering Faculty 2014

Authors and Affiliations

  1. 1.Imperial College LondonLondonUK
  2. 2.University of Buenos AiresBuenos AiresArgentina

Personalised recommendations