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, one can check that the composition of a process with a cloud store ensures ‘strong’ properties through a wise usage of asynchronous message-passing.
This work has been partially sponsored by the project Leverhulme Trust award Tracing Networks, Ocean Observatories Initiative, ANPCyT Project BID-PICT-2008-00319, EU 7FP under grant agreement no. 295261 (MEALS), and EPSRC EP/K011715/1, EP/G015635/1 and EP/G015481/1.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We rely on the following notion of fairness: “If any of the actions \(a_1 , ..., a_k\) is ever enabled infinitely often, then a step satisfying one of those actions must eventually occur” (for a formal definition see[10]).
References
Alglave, J., Maranget, L., Sarkar, S., Sewell, P.: Fences in weak memory models (extended version). Formal Methods Syst. Des. 40(2), 170–205 (2012)
Bailis, P., Ghodsi, A.: Eventual consistency today: limitations, extensions, and beyond. Commun. ACM 56(5), 55–63 (2013)
Boudol, G., Petri, G.: Relaxed memory models: an operational approach. In: Shao, Z., Pierce, B.C. (ed.) POPL, pp. 392–403. ACM (2009)
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)
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)
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)
Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)
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)
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)
Lamport, L.: Fairness and hyperfairness. Distrib. Comput. 13(4), 239–245 (2000)
Madhusudan, P., Seshia, Sanjit A. (eds.): CAV 2012. LNCS, vol. 7358. Springer, Heidelberg (2012)
Milner, R.: A Calculus of Communicating Systems. Springer-Verlag New York Inc., Secaucus (1982)
Pritchett, D.: Base: an acid alternative. Queue 6(3), 48–55 (2008)
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)
Sarkar, S., Sewell, P., Alglave, J., Maranget, L., Williams, D.: Understanding power multiprocessors. SIGPLAN Not. 47(6), 175–186 (2011)
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)
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)
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)
Shapiro, M., Kemme, B.: Eventual consistency. In: Özsu, M.T., Liu, L. (eds.) Encyclopedia of Database Systems (Online and Print). Springer, New York (2009)
Tanenbaum, A.S., van Steen, M.: Distributed Systems - Principles and Paradigms, 2nd edn. Pearson Education, Upper Saddle River (2007)
Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
von Gleissenthall, K., Rybalchenko, A.: An epistemic perspective on consistency of concurrent computations. CoRR, abs/1305.2295 (2013)
Acknowledgments
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.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Science and Engineering Faculty
About this paper
Cite this paper
Bocchi, L., Melgratti, H. (2014). On the Behaviour of General-Purpose Applications on Cloud Storages. In: Tuosto, E., Ouyang, C. (eds) Web Services and Formal Methods. WS-FM 2013. Lecture Notes in Computer Science(), vol 8379. Springer, Cham. https://doi.org/10.1007/978-3-319-08260-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-08260-8_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08259-2
Online ISBN: 978-3-319-08260-8
eBook Packages: Computer ScienceComputer Science (R0)