Service Oriented Computing and Applications

, Volume 9, Issue 3–4, pp 213–227 | Cite as

On the behaviour of general purpose applications on cloud storages

  • Laura Bocchi
  • Hernán Melgratti
Special Issue Paper


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, it allows to check that the composition of a process with a cloud store ensures ‘strong’ properties through a wise usage of asynchronous message-passing; in this case, we say that the process supports the consistency level provided by the cloud store. The proposed approach is compositional: the support of a consistency level is preserved by parallel composition when the preorder used to compare process-store ensembles is the weak simulation.


Cloud Weak stores Eventual consistency Process calculi 


  1. 1.
    Alpha architecture reference manual, 4th edn (2002)Google Scholar
  2. 2.
    Alglave J (2012) A formal hierarchy of weak memory models. Form Methods Syst Des 41(2):178–210CrossRefzbMATHGoogle Scholar
  3. 3.
    Alglave J, Maranget L, Sarkar S, Sewell P (2012) Fences in weak memory models (extended version). Form Methods Syst Des 40(2):170–205CrossRefzbMATHGoogle Scholar
  4. 4.
    Bailis P, Ghodsi A (2013) Eventual consistency today: limitations, extensions, and beyond. Commun ACM 56(5):55–63CrossRefGoogle Scholar
  5. 5.
    Bocchi L, Melgratti HC (2013) On the behaviour of general-purpose applications on cloud storages. In: Tuosto E, Ouyang C (eds) WS-FM, volume 8379 of lecture notes in computer science. Springer, Berlin, pp 29–47Google Scholar
  6. 6.
    Bouajjani A, Enea C, Hamza J (2014) Verifying eventual consistency of optimistic replication systems. In: Jagannathan S, Sewell P (eds) POPL. ACM, New York, pp 285–296Google Scholar
  7. 7.
    Boudol G, Petri G (2009) Relaxed memory models: an operational approach. In: Shao Z, Pierce BC (eds) POPL. ACM, New York, pp 392–403Google Scholar
  8. 8.
    Burckhardt S, Fähndrich M, Leijen D, Wood BP (2012) Cloud types for eventual consistency. In: Proceedings of the 26th European conference on object-oriented programming (ECOOP’12). Springer, Berlin, Heidelberg, pp 283–307Google Scholar
  9. 9.
    Burckhardt S, Gotsman A, Yang H, Zawirski M (2014) Replicated data types: specification, verification, optimality. In: Jagannathan S, Sewell P (eds) POPL. ACM, New York, pp 271–284Google Scholar
  10. 10.
    Burckhardt S, Leijen D, Fähndrich M, Sagiv M (2012) Eventually consistent transactions. In: Seidl H (ed) ESOP, volume 7211 of lecture notes in computer science. Springer, Berlin, pp 67–86Google Scholar
  11. 11.
    C. SPARC International, Inc (1992) The sparc architecture manual: Version 8 and 9Google Scholar
  12. 12.
    DeCandia G, Hastorun D, Jampani M, Kakulapati G, Lakshman A, Pilchin A, Sivasubramanian S, Vosshall P, Vogels W (2007) Dynamo: amazon’s highly available key-value store. SIGOPS Oper Syst Rev 41(6):205–220CrossRefGoogle Scholar
  13. 13.
    Gilbert S, Lynch N (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2):51–59CrossRefGoogle Scholar
  14. 14.
    Goto M, Jagadeesan R, Ptcher C, Riely J (2012) Types for relaxed memory models. In: Proceedings of the 8th ACM SIGPLAN workshop on types in language design and implementation, TLDI ’12. ACM, New York, NY, USA, pp 25–38Google Scholar
  15. 15.
    Ieee 1588 precision time protocol (ptp) version 2 (2008)Google Scholar
  16. 16.
    Kossmann D, Kraska T, Loesing S (2010) An evaluation of alternative architectures for transaction processing in the cloud. In: Elmagarmid AK, Agrawal D (eds) SIGMOD conference. ACM, New York, pp 579–590Google Scholar
  17. 17.
    Lamport L (2000) Fairness and hyperfairness. Distrib Comput 13(4):239–245CrossRefGoogle Scholar
  18. 18.
    Mador-Haim S, Maranget L, Sarkar S, Memarian K, Alglave J, Owens S, Alur R, Martin MMK, Sewell P, Williams D (2012) An axiomatic memory model for power multiprocessors. In: Madhusudan P, Seshia SA (eds) CAV, volume 7358 of lecture notes in computer science. Springer, Berlin, pp 495–512Google Scholar
  19. 19.
    Milner R (1982) A calculus of communicating systems. Springer, SecaucusGoogle Scholar
  20. 20.
    Pritchett D (2008) Base: an acid alternative. Queue 6(3):48–55CrossRefGoogle Scholar
  21. 21.
    Ridge T (2010) A rely-guarantee proof system for x86-tso. In: Proceedings of the third international conference on verified software: theories, tools, experiments, VSTTE’10. Springer, Berlin, Heidelberg, pp 55–70Google Scholar
  22. 22.
    Sarkar S, Sewell P, Alglave J, Maranget L, Williams D (2011) Understanding power multiprocessors. In: Hall MW, Padua DA (eds) PLDI. ACM, New York, pp 175–186Google Scholar
  23. 23.
    Sevcík J, Vafeiadis V, Nardelli FZ, Jagannathan S, Sewell P (2011) Relaxed-memory concurrency and verified compilation. In: Ball T, Sagiv M (eds) POPL. ACM, New York, pp 43–54Google Scholar
  24. 24.
    Sevcík J, Vafeiadis V, Nardelli FZ, Jagannathan S, Sewell P (2013) Compcerttso: a verified compiler for relaxed-memory concurrency. J ACM 60(3):22MathSciNetCrossRefGoogle Scholar
  25. 25.
    Sewell P, Sarkar S, Owens S, Nardelli FZ, Myreen MO (2010) x86-tso: a rigorous and usable programmer’s model for x86 multiprocessors. Commun ACM 53(7):89–97CrossRefGoogle Scholar
  26. 26.
    Shapiro M, Kemme B (2009) Eventual consistency. In: Özsu MT, Liu L (eds) Encyclopedia of database systems (online and print). Springer, BerlinGoogle Scholar
  27. 27.
    Tanenbaum AS, van Steen M (2007) Distributed systems—principles and paradigms, 2nd edn. Pearson Education, Upper Saddle River, NJGoogle Scholar
  28. 28.
    Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44CrossRefGoogle Scholar
  29. 29.
    von Gleissenthall K, Rybalchenko A (2013) An epistemic perspective on consistency of concurrent computations. CoRR, abs/1305.2295Google Scholar

Copyright information

© Springer-Verlag London 2014

Authors and Affiliations

  1. 1.School of ComputingUniversity of KentCanterburyUK
  2. 2.University of Buenos AiresBuenos AiresArgentina

Personalised recommendations