On the behaviour of general purpose applications on cloud storages
- 159 Downloads
- 1 Citations
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.
Keywords
Cloud Weak stores Eventual consistency Process calculiReferences
- 1.Alpha architecture reference manual, 4th edn (2002)Google Scholar
- 2.Alglave J (2012) A formal hierarchy of weak memory models. Form Methods Syst Des 41(2):178–210CrossRefMATHGoogle 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–205CrossRefMATHGoogle Scholar
- 4.Bailis P, Ghodsi A (2013) Eventual consistency today: limitations, extensions, and beyond. Commun ACM 56(5):55–63CrossRefGoogle 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–47Google 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–296Google 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–403Google Scholar
- 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.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.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.C. SPARC International, Inc (1992) The sparc architecture manual: Version 8 and 9Google Scholar
- 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.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.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.Ieee 1588 precision time protocol (ptp) version 2 (2008)Google Scholar
- 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.Lamport L (2000) Fairness and hyperfairness. Distrib Comput 13(4):239–245CrossRefGoogle 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–512Google Scholar
- 19.Milner R (1982) A calculus of communicating systems. Springer, SecaucusGoogle Scholar
- 20.Pritchett D (2008) Base: an acid alternative. Queue 6(3):48–55CrossRefGoogle 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–70Google Scholar
- 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.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.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.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.Shapiro M, Kemme B (2009) Eventual consistency. In: Özsu MT, Liu L (eds) Encyclopedia of database systems (online and print). Springer, BerlinGoogle Scholar
- 27.Tanenbaum AS, van Steen M (2007) Distributed systems—principles and paradigms, 2nd edn. Pearson Education, Upper Saddle River, NJGoogle Scholar
- 28.Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44CrossRefGoogle Scholar
- 29.von Gleissenthall K, Rybalchenko A (2013) An epistemic perspective on consistency of concurrent computations. CoRR, abs/1305.2295Google Scholar