Space Bounds for Reliable Multi-Writer Data Store: Inherent Cost of Read/Write Primitives

Reliable storage emulations from fault-prone components have established themselves as an algorithmic foundation of modern storage services and applications. Most existing reliable storage emulations are built from storage services supporting arbitrary read-modify-write primitives. Since such primitives are not typically exposed by pre-existing or off-the-shelf components (such as cloud storage services or network-attached disks) it is natural to ask if they are indeed essential for efficient storage emulations. In this paper, we answer this question in the affirmative. We show that relaxing the underlying storage to only support read/write operations leads to a linear blow-up in the emulation space requirements. We also show that the space complexity is not adaptive to concurrency, which implies that the storage cannot be reliably reclaimed even in sequential runs. On a positive side, we show that Compare-and-Swap primitives, which are commonly available with many off-the-shelf storage services, can be used to emulate a reliable multi-writer atomic register with constant storage and adaptive time complexity.

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

[2]  Marcos K. Aguilera,et al.  On using network attached disks as shared memory , 2003, PODC '03.

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

[4]  Hagit Attiya,et al.  Renaming in an asynchronous environment , 1990, JACM.

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

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

[7]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[8]  TouegSam,et al.  Fault-tolerant wait-free shared objects , 1998 .

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

[10]  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.

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

[12]  Yehuda Afek,et al.  Benign Failure Models for Shared Memory (Preliminary Version) , 1993, WDAG.

[13]  Sam Toueg,et al.  Asynchronous consensus and broadcast protocols , 1985, JACM.

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

[15]  Leslie Lamport,et al.  Disk Paxos , 2003, Distributed Computing.

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

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

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

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

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

[21]  Chryssis Georgiou,et al.  Fault-tolerant semifast implementations of atomic read/write registers , 2009, J. Parallel Distributed Comput..

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

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

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

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