TY - JOUR
T1 - Network coding for distributed storage systems
AU - Dimakis, Alexandros G.
AU - Godfrey, P. Brighten
AU - Wu, Yunnan
AU - Wainwright, Martin J.
AU - Ramchandran, Kannan
N1 - Funding Information:
Dr. Dimakis received the Eli Jury dissertation award in 2008, two outstanding paper awards, a UC Berkeley Regents Fellowship and a Microsoft Research Fellowship.
Funding Information:
Manuscript received May 26, 2008; revised January 28, 2010. Date of current version August 18, 2010. This work was performed while A. G. Dimakis and P. B. Godfrey were with the University of California, Berkeley. This work was supported by the National Science Foundation under grants CCR-0219722, CCR-0330514 and by a Microsoft Research Fellowship. This paper was presented in part at IEEE INFOCOM, Anchorage, AK, May 2007, and in part at the Allerton Conference on Control, Computing, and Communication, Urbana-Champaign, IL, September 2007.
PY - 2010/9
Y1 - 2010/9
N2 - Distributed storage systems provide reliable access to data through redundancy spread over individually unreliable nodes. Application scenarios include data centers, peer-to-peer storage systems, and storage in wireless networks. Storing data using an erasure code, in fragments spread across nodes, requires less redundancy than simple replication for the same level of reliability. However, since fragments must be periodically replaced as nodes fail, a key question is how to generate encoded fragments in a distributed way while transferring as little data as possible across the network. For an erasure coded system, a common practice to repair from a single node failure is for a new node to reconstruct the whole encoded data object to generate just one encoded block. We show that this procedure is sub-optimal. We introduce the notion of regenerating codes, which allow a new node to communicate functions of the stored data from the surviving nodes. We show that regenerating codes can significantly reduce the repair bandwidth. Further, we show that there is a fundamental tradeoff between storage and repair bandwidth which we theoretically characterize using flow arguments on an appropriately constructed graph. By invoking constructive results in network coding, we introduce regenerating codes that can achieve any point in this optimal tradeoff.
AB - Distributed storage systems provide reliable access to data through redundancy spread over individually unreliable nodes. Application scenarios include data centers, peer-to-peer storage systems, and storage in wireless networks. Storing data using an erasure code, in fragments spread across nodes, requires less redundancy than simple replication for the same level of reliability. However, since fragments must be periodically replaced as nodes fail, a key question is how to generate encoded fragments in a distributed way while transferring as little data as possible across the network. For an erasure coded system, a common practice to repair from a single node failure is for a new node to reconstruct the whole encoded data object to generate just one encoded block. We show that this procedure is sub-optimal. We introduce the notion of regenerating codes, which allow a new node to communicate functions of the stored data from the surviving nodes. We show that regenerating codes can significantly reduce the repair bandwidth. Further, we show that there is a fundamental tradeoff between storage and repair bandwidth which we theoretically characterize using flow arguments on an appropriately constructed graph. By invoking constructive results in network coding, we introduce regenerating codes that can achieve any point in this optimal tradeoff.
KW - Distributed storage
KW - network coding
KW - peer-to-peer storage
KW - regenerating codes
UR - http://www.scopus.com/inward/record.url?scp=77955726417&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=77955726417&partnerID=8YFLogxK
U2 - 10.1109/TIT.2010.2054295
DO - 10.1109/TIT.2010.2054295
M3 - Article
AN - SCOPUS:77955726417
SN - 0018-9448
VL - 56
SP - 4539
EP - 4551
JO - IEEE Transactions on Information Theory
JF - IEEE Transactions on Information Theory
IS - 9
M1 - 5550492
ER -