Distributed Storage Allocations

We examine the problem of allocating a given total storage budget in a distributed storage system for maximum reliability. A source has a single data object that is to be coded and stored over a set of storage nodes; it is allowed to store any amount of coded data in each node, as long as the total amount of storage used does not exceed the given budget. A data collector subsequently attempts to recover the original data object by accessing only the data stored in a random subset of the nodes. By using an appropriate code, successful recovery can be achieved whenever the total amount of data accessed is at least the size of the original data object. The goal is to find an optimal storage allocation that maximizes the probability of successful recovery. This optimization problem is challenging in general because of its combinatorial nature, despite its simple formulation. We study several variations of the problem, assuming different allocation models and access models. The optimal allocation and the optimal symmetric allocation (in which all nonempty nodes store the same amount of data) are determined for a variety of cases. Our results indicate that the optimal allocations often have nonintuitive structure and are difficult to specify. We also show that depending on the circumstances, coding may or may not be beneficial for reliable storage.

[1]  D. M. Chiu,et al.  Erasure code replication revisited , 2004, Proceedings. Fourth International Conference on Peer-to-Peer Computing, 2004. Proceedings..

[2]  Jon Feldman,et al.  Growth codes: maximizing sensor network data persistence , 2006, SIGCOMM 2006.

[3]  Tracey Ho,et al.  Optimal content delivery with network coding , 2009, 2009 43rd Annual Conference on Information Sciences and Systems.

[4]  Vojtech Rödl,et al.  Large matchings in uniform hypergraphs and the conjectures of Erdős and Samuels , 2011, J. Comb. Theory, Ser. A.

[5]  Alexandros G. Dimakis,et al.  Symmetric Allocations for Distributed Storage , 2010, 2010 IEEE Global Telecommunications Conference GLOBECOM 2010.

[6]  Rabin K. Patra,et al.  Using redundancy to cope with failures in a delay tolerant network , 2005, SIGCOMM '05.

[7]  Cauligi S. Raghavendra,et al.  Spray and wait: an efficient routing scheme for intermittently connected mobile networks , 2005, WDTN '05.

[8]  Vinod M. Prabhakaran,et al.  Ubiquitous access to distributed data in large-scale sensor networks through decentralized erasure codes , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[9]  Alexandros G. Dimakis,et al.  Distributed Storage Allocation for High Reliability , 2010, 2010 IEEE International Conference on Communications.

[10]  Tracey Ho,et al.  A Random Linear Network Coding Approach to Multicast , 2006, IEEE Transactions on Information Theory.

[11]  Alexandros G. Dimakis,et al.  Network Coding for Distributed Storage Systems , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[12]  P. A. P. Moran,et al.  An introduction to probability theory , 1968 .

[13]  Alexandros G. Dimakis,et al.  Distributed storage allocation problems , 2009, 2009 Workshop on Network Coding, Theory, and Applications.

[14]  Anxiao Jiang Network Coding for Joint Storage and Transmission with Minimum Cost , 2006, 2006 IEEE International Symposium on Information Theory.

[15]  Mohsen Sardari,et al.  Memory allocation in distributed storage networks , 2010, 2010 IEEE International Symposium on Information Theory.

[16]  Anxiao Jiang,et al.  Network file storage with graceful performance degradation , 2005, TOS.

[17]  Baochun Li,et al.  Data Persistence in Large-Scale Sensor Networks with Decentralized Fountain Codes , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[18]  R. Kaas,et al.  Mean, Median and Mode in Binomial Distributions , 1980 .

[19]  Jörg Widmer,et al.  Network coding: an instant primer , 2006, CCRV.

[20]  Jon Feldman,et al.  Growth codes: maximizing sensor network data persistence , 2006, SIGCOMM.

[21]  Emina Soljanin,et al.  Fountain Codes Based Distributed Storage Algorithms for Large-Scale Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[22]  Zygmunt J. Haas,et al.  Analysis of multipath routing, part 2: mitigation of the effects of frequently changing network topologies , 2004, IEEE Transactions on Wireless Communications.

[23]  Eli Upfal,et al.  Probability and Computing: Randomized Algorithms and Probabilistic Analysis , 2005 .

[24]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[25]  Yong Chen,et al.  Reliability of two-stage weighted-k-out-of-n systems with components in common , 2005, IEEE Trans. Reliab..

[26]  Zygmunt J. Haas,et al.  Analysis of multipath Routing-Part I: the effect on the packet delivery ratio , 2004, IEEE Transactions on Wireless Communications.

[27]  P. Erdos A PROBLEM ON INDEPENDENT r-TUPLES , 1965 .

[28]  William Feller,et al.  An Introduction to Probability Theory and Its Applications , 1967 .

[29]  Charles M. Grinstead,et al.  Introduction to probability , 1999, Statistics for the Behavioural Sciences.

[30]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[31]  Muriel Medard,et al.  How good is random linear coding based distributed networked storage , 2005 .

[32]  L. Dworsky An Introduction to Probability , 2008 .

[33]  Moni Naor,et al.  Optimal File Sharing in Distributed Networks , 1995, SIAM J. Comput..

[34]  Rong-Jaye Chen,et al.  An algorithm for computing the reliability of weighted-k-out-of-n systems , 1994 .