Space Complexity of Fault-Tolerant Register Emulations

Driven by the rising popularity of cloud storage, the costs associated with implementing reliable storage services from a collection of fault-prone servers have recently become an actively studied question. The well-known ABD result shows that an f-tolerant register can be emulated using a collection of 2f+1 fault-prone servers each storing a single read-modify-write object, which is known to be optimal. In this paper we generalize this bound: we investigate the inherent space complexity of emulating reliable multi-writer registers as a function of the type of the base objects exposed by the underlying servers, the number of writers to the emulated register, the number of available servers, and the failure threshold. We establish a sharp separation between registers, and both max-registers (the base object type assumed by ABD) and CAS in terms of the resources (i.e., the number of base objects of the respective types) required to support the emulation; we show that no such separation exists between max-registers and CAS. Our main technical contribution is lower and upper bounds on the resources required in case the underlying base objects are fault-prone read/write registers. We show that the number of required registers is directly proportional to the number of writers and inversely proportional to the number of servers.

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

[2]  Idit Keidar,et al.  Space Bounds for Reliable Storage: Fundamental Limits of Coding , 2016, PODC.

[3]  Nancy A. Lynch,et al.  Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation , 2016, PODC.

[4]  Nancy A. Lynch,et al.  A coded shared atomic memory algorithm for message passing architectures , 2014, 2014 IEEE 13th International Symposium on Network Computing and Applications.

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

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

[7]  Sam Toueg,et al.  Time and Space Lower Bounds for Nonblocking Implementations , 2000, SIAM J. Comput..

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

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

[10]  Rachid Guerraoui,et al.  Amnesic Distributed Storage , 2007, DISC.

[11]  Nancy A. Lynch,et al.  Efficient Replication of Large Data Objects , 2003, DISC.

[12]  Rati Gelashvili On the optimal space complexity of consensus for anonymous processes , 2018, Distributed Computing.

[13]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[14]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

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

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

[17]  Faith Ellen,et al.  Impossibility Results for Distributed Computing , 2014, Impossibility Results for Distributed Computing.

[18]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[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]  Hagit Attiya,et al.  Distributed computing - fundamentals, simulations, and advanced topics (2. ed.) , 2004, Wiley series on parallel and distributed computing.

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

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

[24]  Nir Shavit,et al.  A Complexity-Based Hierarchy for Multiprocessor Synchronization , 2016, ArXiv.

[25]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[26]  Michael K. Reiter,et al.  Byzantine quorum systems , 1997, STOC '97.

[27]  Nir Shavit,et al.  A Complexity-Based Hierarchy for Multiprocessor Synchronization: [Extended Abstract] , 2016, PODC.

[28]  Hagit Attiya,et al.  Max registers, counters, and monotone circuits , 2009, PODC '09.

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

[30]  Leqi Zhu A tight space bound for consensus , 2016, STOC.

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

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

[33]  Jennifer L. Welch,et al.  Multiwriter Consistency Conditions for Shared Memory Registers , 2011, SIAM J. Comput..

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

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