Brief Announcement: Consistency and Complexity Tradeoffs for Highly-Available Multi-cloud Store

Cloud storage services are becoming increasingly popular due to their flexible deployment, convenient pay-per-use model, and little (if any) administrative overhead. Today they are being offered by ever growing number of Internet companies, such as Amazon, Google, Microsoft as well as numerous smaller providers, such as Rackspace, Nirvanix and many others. Although cloud storage providers make tremendous investments into ensuring reliability and security of the service they offer, most of them have suffered from wellpublicized outages where the integrity and/or availability of data have been compromised for prolonged periods of time. In addition, even in the absence of outages, the customers can still lose access to their data due to connectivity problems, or unexpected alterations in the service contract (data lock-in). To address these concerns, multi-cloud storage systems whereupon data is replicated across multiple cloud storage services have become a hot topic in the systems community. Despite the significant progress in building practical multi-cloud storage systems (see e.g., [1]), as of today, little is known about their fundamental capabilities and limitations. The primary challenge lies in a wide variety of the storage interfaces and consistency semantics offered by different cloud providers to their external users. For example, whereas Amazon S3 supports a simple read/write interface, other storage services also expose a selection of more advanced transactional primitives, such as conditional writes. In this paper, we outline the results of our recent study [2] that explored the space and time complexity of building reliable multi-cloud storage services.

[1]  Marko Vukolic,et al.  Robust data sharing with key-value stores , 2011, IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2012).

[2]  David Breitgand,et al.  Improving consolidation of virtual machines with risk-aware bandwidth oversubscription in compute clouds , 2012, 2012 Proceedings IEEE INFOCOM.

[3]  Baruch Awerbuch,et al.  Atomic Shared Register Access by Asynchronous Hardware (Detailed Abstract) , 1986, FOCS 1986.

[4]  Hakim Weatherspoon,et al.  Overdriver: handling memory overload in an oversubscribed cloud , 2011, VEE '11.

[5]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[6]  Muli Ben-Yehuda,et al.  Applications Know Best: Performance-Driven Memory Overcommit with Ginkgo , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[7]  Hagit Attiya,et al.  Long-lived renaming made adaptive , 1999, PODC '99.

[8]  Jun Rao,et al.  Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore , 2011, Proc. VLDB Endow..

[9]  Hagit Attiya,et al.  Algorithms adapting to point contention , 2003, JACM.

[10]  Nancy A. Lynch,et al.  Bounds on Shared Memory for Mutual Exclusion , 1993, Inf. Comput..

[11]  Hagit Attiya,et al.  Sharing memory robustly in message-passing systems , 1990, PODC '90.

[12]  Alysson Bessani,et al.  TClouds: Privacy and Resilience for Internet−scale Critical Infrastructures , 2012 .

[13]  Leslie Lamport,et al.  Interprocess Communication , 2020, Practical System Programming with C.

[14]  James H. Anderson,et al.  Multi-writer composite registers , 1994, Distributed Computing.

[15]  Mahadev Konar,et al.  ZooKeeper: Wait-free Coordination for Internet-scale Systems , 2010, USENIX Annual Technical Conference.

[16]  Marcin Paprzycki,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 2001, Scalable Comput. Pract. Exp..

[17]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[18]  Marko Vukolic,et al.  Fast Access to Distributed Atomic Memory , 2010, SIAM J. Comput..

[19]  Jennifer L. Welch,et al.  Multi-writer Consistency Conditions for Shared Memory Objects , 2003, DISC.

[20]  Chryssis Georgiou,et al.  Fault-tolerant semifast implementations of atomic read/write registers , 2006, SPAA '06.

[21]  Marcos K. Aguilera,et al.  Reconfiguring Replicated Atomic Storage: A Tutorial , 2013, Bull. EATCS.

[22]  Farokh B. Bastani,et al.  Secure, Dependable, and High Performance Cloud Storage , 2010, 2010 29th IEEE Symposium on Reliable Distributed Systems.

[23]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[24]  Nancy A. Lynch,et al.  Rambo: a robust, reconfigurable atomic memory service for dynamic networks , 2010, Distributed Computing.

[25]  Leslie Lamport,et al.  How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor , 1997, IEEE Trans. Computers.

[26]  Alexander A. Shvartsman,et al.  Graceful quorum reconfiguration in a robust emulation of shared memory , 2000, Proceedings 20th IEEE International Conference on Distributed Computing Systems.

[27]  Miguel Correia,et al.  DepSky: Dependable and Secure Storage in a Cloud-of-Clouds , 2013, TOS.

[28]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, PODC '90.

[29]  Hans-Arno Jacobsen,et al.  PNUTS: Yahoo!'s hosted data serving platform , 2008, Proc. VLDB Endow..

[30]  Hakim Weatherspoon,et al.  RACS: a case for cloud storage diversity , 2010, SoCC '10.

[31]  Idit Keidar,et al.  Byzantine disk paxos: optimal resilience with byzantine shared memory , 2004, PODC '04.

[32]  Dahlia Malkhi,et al.  Active disk paxos with infinitely many processes , 2002, PODC.

[33]  Sam Toueg,et al.  Fault-tolerant wait-free shared objects , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[34]  James H. Anderson,et al.  Composite registers , 1990, PODC '90.

[35]  Rachid Guerraoui,et al.  Introduction to Reliable and Secure Distributed Programming , 2011 .