This paper considers replication strategies for storage systems that aggregate the disks of many nodes spread over the Internet. Maintaining replication in such systems can be prohibitively expensive, since every transient network or host failure could potentially lead to copying a server’s worth of data over the Internet to maintain replication levels. The following insights in designing an efficient replication algorithm emerge from the paper’s analysis. First, durability can be provided separately from availability; the former is less expensive to ensure and a more useful goal for many wide-area applications. Second, the focus of a durability algorithm must be to create new copies of data objects faster than permanent disk failures destroy the objects; careful choice of policies for what nodes should hold what data can decrease repair time. Third, increasing the number of replicas of each data object does not help a system tolerate a higher disk failure probability, but does help tolerate bursts of failures. Finally, ensuring that the system makes use of replicas that recover after temporary failure is critical to efficiency. Based on these insights, the paper proposes the Carbonite replication algorithm for keeping data durable at a low cost. A simulation of Carbonite storing 1 TB of data over a 365 day trace of PlanetLab activity shows that Carbonite is able to keep all data durable and uses 44 % more network traffic than a hypothetical system that only responds to permanent failures. In comparison, Total Recall and DHash require almost a factor of two more network traffic than this hypothetical system. 1
|
643
|
Oceanstore: An architecture for global-scale persistent storage
– Kubiatowicz, Bindel, et al.
- 2000
|
|
581
|
Wide-area cooperative storage with CFS
– Dabek, Kaashoek, et al.
- 2001
|
|
550
|
The case for redundant arrays of inexpensive disks (RAID
– Patterson, Gibson, et al.
- 1988
|
|
416
|
Epidemic algorithms for replicated database maintenance
– Demers, Greene, et al.
- 1987
|
|
366
|
Serverless network file systems
– Anderson, Dahlin, et al.
- 1996
|
|
329
|
A Blueprint for Introducing Disruptive Technology into the Internet
– Peterson, Anderson, et al.
- 2002
|
|
286
|
Queueing Systems, Volume I: Theory
– Kleinrock
- 1975
|
|
232
|
Petal: Distributed virtual disks
– Lee, Thekkath
- 1996
|
|
176
|
The Google file system
– Ghemawat, Gobioff, et al.
- 2003
|
|
167
|
Handling churn in a dht
– Rhea, Geels, et al.
- 2004
|
|
135
|
Replication in the Harp file system
– Liskov, Ghemawat, et al.
- 1991
|
|
127
|
distributed data structures for internet service construction
– Gribble
- 2000
|
|
113
|
Practical Byzantine fault tolerance and proactive recovery
– Castro, Liskov
|
|
96
|
Erasure coding vs. replication: A quantitative comparison
– Weatherspoon, Kubiatowicz
- 2002
|
|
77
|
Designing a DHT for low latency and high throughput
– Dabek, Li, et al.
- 2004
|
|
72
|
The recovery manager of the System R database manager
– Gray, McJones, et al.
- 1981
|
|
69
|
High availability, scalable storage, dynamic peer neetworks: Pick two
– Blake, Rodrigues
- 2003
|
|
68
|
Total recall: System support for automated availability management
– Bhagwan, Tati, et al.
- 2004
|
|
41
|
FAB: building distributed enterprise disk arrays from commodity components
– Saito, Frølund, et al.
- 2004
|
|
40
|
Glacier: Highly durable, decentralized storage despite massive correlated failures
– Haeberlen, Mislove, et al.
- 2005
|
|
29
|
the oceanstore prototype
– Rhea, Eaton, et al.
- 2003
|
|
26
|
Robust and Efficient Data Management for a Distributed Hash Table
– CATES
- 2003
|
|
26
|
High availability in DHTs: Erasure coding vs. replication
– Rodrigues, Liskov
- 2005
|
|
21
|
OverCite: A cooperative digital research library
– Stribling, Li, et al.
- 2006
|
|
19
|
Chain replication for supporting high throughput and availability
– Renesse, Schneider
- 2004
|
|
17
|
CoMon: A Mostly-Scalable Monitoring System for PlanetLab
– Park, Pai
|
|
17
|
SnapMirror: File System Based Asynchronous Mirroring for Disaster Recovery
– Patterson, Manley, et al.
- 2002
|
|
16
|
Non-transitive connectivity and DHTs
– Freedman, Lakshminarayanan, et al.
- 2005
|
|
16
|
LH* RS : A high-availability scalable distributed data structure using Reed Solomon codes
– Litwin, Schwarz
- 2000
|
|
16
|
UsenetDHT: A low overhead usenet server
– SIT, DABEK, et al.
- 2004
|
|
14
|
Analysis of long-running replicated systems
– Ramabhadran, Pasquale
- 2006
|
|
10
|
On object maintenance in peer-to-peer systems
– Tati, Voelker
- 2006
|
|
9
|
Improving End-to-End Availability Using Overlay Networks
– Andersen
- 2005
|
|
9
|
A Distributed Hash Table
– DABEK
- 2005
|
|
7
|
Long-Term Data Maintenance in Wide-Area Storage Systems: A Quantitative Approach
– Weatherspoon
- 2005
|
|
4
|
Efficiently binding data to owners in distributed content-addressable storage systems
– EATON, WEATHERSPOON, et al.
- 2005
|
|
4
|
Myriad: Cost-effective disaster tolerance
– LEUNG, MACCORMICK, et al.
- 2002
|
|
2
|
Centera—content addressed storage system. http:// www.emc.com/products/systems/centera.jsp. Last accessed
– EMC
- 2006
|
|
2
|
Symmetrix remote data facility. http://www.emc. com/products/networking/srdf.jsp. Last accessed
– EMC
- 2006
|
|
2
|
Exploring the design of multi-site web services using the OverCite digital library
– STRIBLING, LI, et al.
- 2006
|