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.
Similar content being viewed by others
Notes
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
Alpha architecture reference manual, 4th edn (2002)
Alglave J (2012) A formal hierarchy of weak memory models. Form Methods Syst Des 41(2):178–210
Alglave J, Maranget L, Sarkar S, Sewell P (2012) Fences in weak memory models (extended version). Form Methods Syst Des 40(2):170–205
Bailis P, Ghodsi A (2013) Eventual consistency today: limitations, extensions, and beyond. Commun ACM 56(5):55–63
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
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
Boudol G, Petri G (2009) Relaxed memory models: an operational approach. In: Shao Z, Pierce BC (eds) POPL. ACM, New York, pp 392–403
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
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
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
C. SPARC International, Inc (1992) The sparc architecture manual: Version 8 and 9
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
Gilbert S, Lynch N (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2):51–59
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
Ieee 1588 precision time protocol (ptp) version 2 (2008)
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
Lamport L (2000) Fairness and hyperfairness. Distrib Comput 13(4):239–245
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
Milner R (1982) A calculus of communicating systems. Springer, Secaucus
Pritchett D (2008) Base: an acid alternative. Queue 6(3):48–55
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
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
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
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
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
Shapiro M, Kemme B (2009) Eventual consistency. In: Özsu MT, Liu L (eds) Encyclopedia of database systems (online and print). Springer, Berlin
Tanenbaum AS, van Steen M (2007) Distributed systems—principles and paradigms, 2nd edn. Pearson Education, Upper Saddle River, NJ
Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44
von Gleissenthall K, Rybalchenko A (2013) An epistemic perspective on consistency of concurrent computations. CoRR, abs/1305.2295
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-014-0165-7