Skip to main content
Log in

On the behaviour of general purpose applications on cloud storages

  • Special Issue Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

Abstract

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.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. We rely on the following notion of fairness: “If any of the actions \(a_1 , \ldots , a_k\) is ever enabled infinitely often, then a step satisfying one of those actions must eventually occur” (for a formal definition see [17]).

References

  1. Alpha architecture reference manual, 4th edn (2002)

  2. Alglave J (2012) A formal hierarchy of weak memory models. Form Methods Syst Des 41(2):178–210

    Article  MATH  Google Scholar 

  3. Alglave J, Maranget L, Sarkar S, Sewell P (2012) Fences in weak memory models (extended version). Form Methods Syst Des 40(2):170–205

    Article  MATH  Google Scholar 

  4. Bailis P, Ghodsi A (2013) Eventual consistency today: limitations, extensions, and beyond. Commun ACM 56(5):55–63

    Article  Google Scholar 

  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–47

    Google Scholar 

  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–296

    Google Scholar 

  7. Boudol G, Petri G (2009) Relaxed memory models: an operational approach. In: Shao Z, Pierce BC (eds) POPL. ACM, New York, pp 392–403

  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–307

  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–284

    Google Scholar 

  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–86

    Google Scholar 

  11. C. SPARC International, Inc (1992) The sparc architecture manual: Version 8 and 9

  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–220

    Article  Google Scholar 

  13. Gilbert S, Lynch N (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2):51–59

    Article  Google Scholar 

  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–38

  15. Ieee 1588 precision time protocol (ptp) version 2 (2008)

  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–590

  17. Lamport L (2000) Fairness and hyperfairness. Distrib Comput 13(4):239–245

    Article  Google Scholar 

  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–512

  19. Milner R (1982) A calculus of communicating systems. Springer, Secaucus

    Google Scholar 

  20. Pritchett D (2008) Base: an acid alternative. Queue 6(3):48–55

    Article  Google Scholar 

  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–70

  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–186

    Google Scholar 

  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–54

    Google Scholar 

  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):22

    Article  MathSciNet  Google Scholar 

  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–97

    Article  Google Scholar 

  26. Shapiro M, Kemme B (2009) Eventual consistency. In: Özsu MT, Liu L (eds) Encyclopedia of database systems (online and print). Springer, Berlin

    Google Scholar 

  27. Tanenbaum AS, van Steen M (2007) Distributed systems—principles and paradigms, 2nd edn. Pearson Education, Upper Saddle River, NJ

  28. Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44

    Article  Google Scholar 

  29. von Gleissenthall K, Rybalchenko A (2013) An epistemic perspective on consistency of concurrent computations. CoRR, abs/1305.2295

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hernán Melgratti.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bocchi, L., Melgratti, H. On the behaviour of general purpose applications on cloud storages. SOCA 9, 213–227 (2015). https://doi.org/10.1007/s11761-014-0165-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-014-0165-7

Keywords

Navigation