Rambo: a robust, reconfigurable atomic memory service for dynamic networks
In this paper, we present R ambo , an algorithm for emulating a read/write distributed shared memory in a dynamic, rapidly changing environment. R ambo provides a highly reliable, highly available service, even as participants join, leave, and fail. In fact, the entire set of participants may change...
Gespeichert in:
Veröffentlicht in: | Distributed computing 2010-12, Vol.23 (4), p.225-272 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In this paper, we present R
ambo
, an algorithm for emulating a read/write distributed shared memory in a dynamic, rapidly changing environment. R
ambo
provides a highly reliable, highly available service, even as participants join, leave, and fail. In fact, the entire set of participants may change during an execution, as the initial devices depart and are replaced by a new set of devices. Even so, R
ambo
ensures that data stored in the distributed shared memory remains available and consistent. There are two basic techniques used by R
ambo
to tolerate dynamic changes. Over short intervals of time, replication suffices to provide fault-tolerance. While some devices may fail and leave, the data remains available at other replicas. Over longer intervals of time, R
ambo
copes with changing participants via
reconfiguration
, which incorporates newly joined devices while excluding devices that have departed or failed. The main novelty of R
ambo
lies in the combination of an efficient reconfiguration mechanism with a quorum-based replication strategy for read/write shared memory. The R
ambo
algorithm can tolerate a wide variety of aberrant behavior, including lost and delayed messages, participants with unsynchronized clocks, and, more generally, arbitrary asynchrony. Despite such behavior, R
ambo
guarantees that its data is stored consistency. We analyze the performance of R
ambo
during periods when the system is relatively well-behaved: messages are delivered in a timely fashion, reconfiguration is not too frequent, etc. We show that in these circumstances, read and write operations are efficient, completing in at most eight message delays. |
---|---|
ISSN: | 0178-2770 1432-0452 |
DOI: | 10.1007/s00446-010-0117-1 |