Flexible replica placement for optimized P2P backup on heterogeneous, unreliable machines

P2P architecture is a viable option for enterprise backup. In contrast to dedicated backup servers, nowadays, a standard solution, making backups directly on organization's workstations should be cheaper as existing hardware is used, more efficient as there is no single bottleneck server, and more reliable as the machines can be geographically dispersed. We present an architecture of a P2P backup system that uses pairwise replication contracts between a data owner and a replicator. In contrast to a standard P2P storage system using directly a distributed hash table (DHT), the contracts allow our system to optimize replicas' placement depending on a specific optimization strategy and so to take advantage of the heterogeneity of the machines and the network. Such optimization is particularly appealing in the context of backup: replicas can be geographically dispersed, the load sent over the network can be minimized, or the optimization goal can be to minimize the backup/restore time. However, managing the contracts, keeping them consistent and adjusting them in response to dynamically changing environment is challenging. We built a scientific prototype and ran experiments on 150 workstations in our university's computer laboratories and, separately, on 50 PlanetLab nodes. We found out that the main factor affecting the performance of the system is the availability of the machines. Yet, our main conclusion is that it is possible to build an efficient and reliable backup system on highly unavailable machines, as our computers had just 13% average availability. Copyright © 2015 John Wiley & Sons, Ltd.

[1]  Werner Vogels,et al.  Eventually consistent , 2008, CACM.

[2]  Peter Druschel,et al.  Pastry: Scalable, distributed object location and routing for large-scale peer-to- , 2001 .

[3]  Rodrigo Rodrigues,et al.  High Availability in DHTs: Erasure Coding vs. Replication , 2005, IPTPS.

[4]  Marc Sánchez Artigas,et al.  Enforcing fairness in P2P storage systems using asymmetric reciprocal exchanges , 2011, 2011 IEEE International Conference on Peer-to-Peer Computing.

[5]  Marvin Theimer,et al.  Feasibility of a serverless distributed file system deployed on an existing set of desktop PCs , 2000, SIGMETRICS '00.

[6]  Magnus Karlsson,et al.  Taming aggressive replication in the Pangaea wide-area file system , 2002, OPSR.

[7]  Hannes Federrath,et al.  International workshop on Designing privacy enhancing technologies: design issues in anonymity and unobservability , 2001 .

[8]  Roger Wattenhofer,et al.  Competitive Hill-Climbing Strategies for Replica Placement in a Distributed File System , 2001, DISC.

[9]  Frédérique E. Oggier,et al.  Decentralized Erasure Coding for Efficient Data Archival in Distributed Storage Systems , 2013, ICDCN.

[10]  Weisong Shi,et al.  Performance evaluation of peer-to-peer Web caching systems , 2006, J. Syst. Softw..

[11]  Hein Meling,et al.  Messor: Load-Balancing through a Swarm of Autonomous Agents , 2002, AP2PC.

[12]  Ronald R. Yager,et al.  On ordered weighted averaging aggregation operators in multicriteria decisionmaking , 1988, IEEE Trans. Syst. Man Cybern..

[13]  David Moore,et al.  Replication Strategies for Highly Available Peer-to-Peer Storage , 2002, Future Directions in Distributed Computing.

[14]  GhemawatSanjay,et al.  The Google file system , 2003 .

[15]  Frédérique Oggier,et al.  Self-repairing homomorphic codes for distributed storage systems , 2010, 2011 Proceedings IEEE INFOCOM.

[16]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[17]  Yafei Dai,et al.  PeerDedupe: Insights into the Peer-Assisted Sampling Deduplication , 2010, 2010 IEEE Tenth International Conference on Peer-to-Peer Computing (P2P).

[18]  Krzysztof Rzadca,et al.  Network Delay-Aware Load Balancing in Selfish and Cooperative Distributed Systems , 2012, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[19]  M. Ehrgott Approximation algorithms for combinatorial multicriteria optimization problems , 2000 .

[20]  Márk Jelasity,et al.  T-Man: Gossip-Based Overlay Topology Management , 2005, Engineering Self-Organising Systems.

[21]  Indranil Gupta,et al.  Kelips: Building an Efficient and Stable P2P DHT through Increased Memory and Background Overhead , 2003, IPTPS.

[22]  Robbert van Renesse,et al.  Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining , 2003, TOCS.

[23]  Ramesh K. Sitaraman,et al.  The Akamai network: a platform for high-performance internet applications , 2010, OPSR.

[24]  Robert Tappan Morris,et al.  Ivy: a read/write peer-to-peer file system , 2002, OSDI '02.

[25]  Jon Howell,et al.  Byzantine Fault Isolation in the Farsite Distributed File System , 2006, IPTPS.

[26]  Kai Li,et al.  Tradeoffs in Scalable Data Routing for Deduplication Clusters , 2011, FAST.

[27]  Thomas Fuhrmann,et al.  IgorFs: A Distributed P2P File System , 2008, 2008 Eighth International Conference on Peer-to-Peer Computing.

[28]  Brian D. Noble,et al.  Samsara: honor among thieves in peer-to-peer storage , 2003, SOSP '03.

[29]  Kai Li,et al.  Avoiding the Disk Bottleneck in the Data Domain Deduplication File System , 2008, FAST.

[30]  Marc Sánchez Artigas,et al.  Availability and Redundancy in Harmony: Measuring Retrieval Times in P2P Storage Systems , 2010, 2010 IEEE Tenth International Conference on Peer-to-Peer Computing (P2P).

[31]  Andreas Haeberlen,et al.  Efficient Replica Maintenance for Distributed Storage Systems , 2006, NSDI.

[32]  Dutch T. Meyer,et al.  A study of practical deduplication , 2011, TOS.

[33]  Krzysztof Rzadca,et al.  Replica Placement in P2P Storage: Complexity and Game Theoretic Analyses , 2010, 2010 IEEE 30th International Conference on Distributed Computing Systems.

[34]  Jacob R. Lorch,et al.  Farsite: federated, available, and reliable storage for an incompletely trusted environment , 2002, OSDI '02.

[35]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[36]  Jon Howell,et al.  The Farsite project: a retrospective , 2007, OPSR.

[37]  Anne-Marie Kermarrec,et al.  Efficient peer-to-peer backup services through buffering at the edge , 2011, 2011 IEEE International Conference on Peer-to-Peer Computing.

[38]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[39]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.

[40]  David E. Culler,et al.  PlanetLab: an overlay testbed for broad-coverage services , 2003, CCRV.

[41]  Antony I. T. Rowstron,et al.  Squirrel: a decentralized peer-to-peer web cache , 2002, PODC '02.

[42]  Jinyang Li,et al.  Friendstore: cooperative online backup using trusted nodes , 2008, SocialNets '08.

[43]  Pietro Michiardi,et al.  A measurement study of the Wuala on-line storage service , 2012, 2012 IEEE 12th International Conference on Peer-to-Peer Computing (P2P).

[44]  Raúl Gracia Tinedo,et al.  Analysis of data availability in F2F storage systems: When correlations matter , 2012, P2P.

[45]  C. Walter Kryder's law. , 2005, Scientific American.

[46]  Pietro Michiardi,et al.  Online Data Backup: A Peer-Assisted Approach , 2010, 2010 IEEE Tenth International Conference on Peer-to-Peer Computing (P2P).

[47]  Adam Wierzbicki,et al.  Equitable aggregations and multiple criteria analysis , 2004, Eur. J. Oper. Res..

[48]  Pierre-François Dutot,et al.  Bi-criteria algorithm for scheduling jobs on cluster platforms , 2004, SPAA '04.

[49]  Pietro Michiardi,et al.  An empirical study of availability in friend-to-friend storage systems , 2011, 2011 IEEE International Conference on Peer-to-Peer Computing.

[50]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[51]  Indranil Gupta,et al.  A churn-resistant peer-to-peer web caching system , 2003, SSRS '03.

[52]  Doug Terry,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[53]  Michal Kaczmarczyk,et al.  HYDRAstor: A Scalable Secondary Storage , 2009, FAST.

[54]  Pierre Sens,et al.  Pastis: A Highly-Scalable Multi-user Peer-to-Peer File System , 2005, Euro-Par.

[55]  Samuel Bernard,et al.  Optimizing peer-to-peer backup using lifetime estimations , 2009, EDBT/ICDT '09.

[56]  Wolfgang Nejdl,et al.  Optimizing Near Duplicate Detection for P2P Networks , 2010, 2010 IEEE Tenth International Conference on Peer-to-Peer Computing (P2P).

[57]  Pietro Michiardi,et al.  Data transfer scheduling for P2P storage , 2011, 2011 IEEE International Conference on Peer-to-Peer Computing.

[58]  Wei Chen,et al.  BitVault: a highly reliable distributed data retention platform , 2007, OPSR.

[59]  Ben Y. Zhao,et al.  OceanStore: an architecture for global-scale persistent storage , 2000, SIGP.

[60]  M. Hefeeda,et al.  pCache : A Proxy Cache for Peer-to-Peer Traffic , 2008 .