Storage-Efficient Shared Memory Emulation

by   Marwen Zorgui, et al.

We study the design of storage-efficient algorithms for emulating atomic shared memory over an asynchronous, distributed message-passing network. Our first algorithm is an atomic single-writer multi-reader algorithm based on a novel erasure-coding technique, termed multi-version code. Next, we propose an extension of our single-writer algorithm to a multi-writer multi-reader environment. Our second algorithm combines replication and multi-version code, and is suitable in situations where we expect a large number of concurrent writes. Moreover, when the number of concurrent writes is bounded, we propose a simplified variant of the second algorithm that has a simple structure similar to the single-writer algorithm. Let N be the number of servers, and the shared memory variable be of size 1 unit. Our algorithms have the following properties: (i) The algorithms guarantee liveness of the read as long as the number of writes concurrent with the read is smaller than a design parameter ν, and the number of server failures is bounded by a parameter f. Moreover, our algorithms satisfy finite-write termination if we allow readers to retry. (ii) The storage size for the first algorithm, and the steady-state storage size for the second algorithm, are all 1/N-2f/ν unit per server. Moreover, our simplified variant of the second algorithm achieves the worst-case storage cost of 1/N-2f/ν, asymptotically matching a lower bound by Cadambe et al. for N ≫ f, ν≫ 1. (iii) The write and read operations only consist of a small number (2 to 3) of communication rounds. (iv) For all algorithms, the server maintains a simple data structure. A server only needs to store the information associated with the latest value it observes, similar to replication-based algorithms.


page 1

page 2

page 3

page 4


ARES: Adaptive, Reconfigurable, Erasure coded, atomic Storage

Atomicity or strong consistency is one of the fundamental, most intuitiv...

Distributed Multi-writer Multi-reader Atomic Register with Optimistically Fast Read and Write

A distributed multi-writer multi-reader (MWMR) atomic register is an imp...

CausalEC: A Causally Consistent Data Storage Algorithm based on Cross-Object Erasure Coding

Causally consistent distributed storage systems have received significan...

Unleashing and Speeding Up Readers in Atomic Object Implementations

Providing efficient emulations of atomic read/write objects in asynchron...

Multi-version Coding with Side Information

In applications of storage systems to modern key-value stores, the store...

Parameterized algorithm for replicated objects with local reads

We consider the problem of implementing linearizable objects that suppor...

On Register Linearizability and Termination

In a seminal work, Golab et al. showed that a randomized algorithm that ...

Please sign up or login with your details

Forgot password? Click here to reset