Barbi, Roberta and Buravlev, Vitaly and Mezzina, Claudio Antares and Schiavoni, Valerio
Block Placement Strategies for Fault-Resilient Distributed Tuple Spaces: An Experimental Study - (Practical Experience Report).
In:
Distributed Applications and Interoperable Systems - 17th IFIP WG 6.1 International Conference, DAIS 2017.
Lecture Notes in Computer Science, 10320
.
Springer, pp. 67-82.
ISBN 978-3-319-59664-8
(2017)
Abstract
The tuple space abstraction provides an easy-to-use programming paradigm
for distributed applications. Intuitively, it behaves like a distributed shared
memory, where applications write and read entries (tuples). When deployed over
a wide area network, the tuple space needs to efficiently cope with faults of links
and nodes. Erasure coding techniques are increasingly popular to deal with such
catastrophic events, in particular due to their storage efficiency with respect to
replication. When a client writes a tuple into the system, this is first striped into
k blocks and encoded into n > k blocks, in a fault-redundant manner. Then, any
k out of the n blocks are sufficient to reconstruct and read the tuple. This paper
presents several strategies to place those blocks across the set of nodes of a
wide area network, that all together form the tuple space. We present the performance
trade-offs of different placement strategies by means of simulations and a
Python implementation of a distributed tuple space. Our results reveal important
differences in the efficiency of the different strategies, for example in terms of
block fetching latency, and that having some knowledge of the underlying network
graph topology is highly beneficial
Actions (login required)
|
Edit Item |