Alpha Entanglement Codes: Practical Erasure Codes to Archive Data in Unreliable Environments

Data centres that use consumer-grade disks drives and distributed peer-to-peer systems are unreliable environments to archive data without enough redundancy. Most redundancy schemes are not completely effective for providing high availability, durability and integrity in the long-term. We propose alpha entanglement codes, a mechanism that creates a virtual layer of highly interconnected storage devices to propagate redundant information across a large scale storage system. Our motivation is to design flexible and practical erasure codes with high fault-tolerance to improve data durability and availability even in catastrophic scenarios. By "flexible and practical", we mean code settings that can be adapted to future requirements and practical implementations with reasonable trade-offs between security, resource usage and performance. The codes have three parameters. Alpha increases storage overhead linearly but increases the possible paths to recover data exponentially. Two other parameters increase fault-tolerance even further without the need of additional storage. As a result, an entangled storage system can provide high availability, durability and offer additional integrity: it is more difficult to modify data undetectably. We evaluate how several redundancy schemes perform in unreliable environments and show that alpha entanglement codes are flexible and practical codes. Remarkably, they excel at code locality, hence, they reduce repair costs and become less dependent on storage locations with poor availability. Our solution outperforms Reed-Solomon codes in many disaster recovery scenarios.

[1]  R. Anderson The Eternity Service , 1996 .

[2]  Kannan Ramchandran,et al.  Exact Regeneration Codes for Distributed Storage Repair Using Interference Alignment , 2009, ArXiv.

[3]  Robert G. Gallager,et al.  Low-density parity-check codes , 1962, IRE Trans. Inf. Theory.

[4]  David Mazières,et al.  Tangler: a censorship-resistant publishing system based on document entanglements , 2001, CCS '01.

[5]  Hai Jin,et al.  Parity Declustering for Continuous Operation in Redundant Disk Arrays , 2002 .

[6]  Joan Feigenbaum,et al.  Towards a theory of data entanglement , 2007, Theor. Comput. Sci..

[7]  Michael Burrows,et al.  A Cooperative Internet Backup Scheme , 2003, USENIX Annual Technical Conference, General Track.

[8]  Arjen K. Lenstra,et al.  STEP-archival: Storage integrity and anti-tampering using data entanglement , 2015, 2015 IEEE International Symposium on Information Theory (ISIT).

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

[10]  Walter A. Burkhard,et al.  Disk array storage system reliability , 1993, FTCS-23 The Twenty-Third International Symposium on Fault-Tolerant Computing.

[11]  Bianca Schroeder,et al.  Disk Failures in the Real World: What Does an MTTF of 1, 000, 000 Hours Mean to You? , 2007, FAST.

[12]  Ahmed Amer,et al.  RESAR: Reliable Storage at Exabyte Scale , 2016, 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS).

[13]  J.-F. Paris,et al.  Outshining Mirrors: MTTDL of Fixed-Order Spiral Layouts , 2007, Fourth International Workshop on Storage Network Architecture and Parallel I/Os (SNAPI 2007).

[14]  Cory Hill,et al.  f4: Facebook's Warm BLOB Storage System , 2014, OSDI.

[15]  Pradeep K. Khosla,et al.  Survivable Information Storage Systems , 2000, Computer.

[16]  Pascal Felber,et al.  Helical Entanglement Codes: An Efficient Approach for Designing Robust Distributed Storage Systems , 2013, SSS.

[17]  Christos Gkantsidis,et al.  Network coding for large scale content distribution , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[18]  Andreas Haeberlen,et al.  Glacier: highly durable, decentralized storage despite massive correlated failures , 2005, NSDI.

[19]  J. Plank,et al.  On the Practical Use of LDPC Erasure Codes for Distributed Storage Applications , 2003 .

[20]  Ethan L. Miller,et al.  Reliability of flat XOR-based erasure codes on heterogeneous devices , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[21]  Vinod M. Prabhakaran,et al.  Decentralized erasure codes for distributed networked storage , 2006, IEEE Transactions on Information Theory.

[22]  Jay J. Wylie,et al.  Determining Fault Tolerance of XOR-Based Erasure Codes Efficiently , 2007, 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'07).

[23]  Daniel A. Spielman,et al.  Practical loss-resilient codes , 1997, STOC '97.

[24]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[25]  Vero Estrada-Galiñanes A research playground for examining erasure codes , 2017, SYSTOR.

[26]  Anne-Marie Kermarrec,et al.  Regenerating Codes: A System Perspective , 2012, 2012 IEEE 31st Symposium on Reliable Distributed Systems.

[27]  D. Rosenthal,et al.  The Economics of Long-Term Digital Storage , 2012 .

[28]  Miguel Castro,et al.  Farsite: federated, available, and reliable storage for an incompletely trusted environment , 2002, OPSR.

[29]  Sergio Benedetto,et al.  Design of parallel concatenated convolutional codes , 1996, IEEE Trans. Commun..

[30]  Van-Anh Truong,et al.  Availability in Globally Distributed Storage Systems , 2010, OSDI.

[31]  Randy H. Katz,et al.  Coding techniques for handling failures in large disk arrays , 2005, Algorithmica.

[32]  Thomas Schwarz,et al.  Reliability and performance of disk arrays , 1994 .

[33]  G. Neglia,et al.  On the Benefits of Random Linear Coding for Unicast Applications in Disruption Tolerant Networks , 2006, 2006 4th International Symposium on Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks.

[34]  Garth A. Gibson,et al.  DiskReduce: RAID for data-intensive scalable computing , 2009, PDSW '09.

[35]  Ahmed Amer,et al.  Increased Reliability with SSPiRAL Data Layouts , 2008, 2008 IEEE International Symposium on Modeling, Analysis and Simulation of Computers and Telecommunication Systems.

[36]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[37]  Walter A. Burkhard,et al.  RAID organization and performance , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

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

[39]  Dimitris S. Papailiopoulos,et al.  Locally Repairable Codes , 2012, IEEE Transactions on Information Theory.

[40]  Minghua Chen,et al.  Pyramid Codes: Flexible Schemes to Trade Space for Access Efficiency in Reliable Data Storage Systems , 2007, Sixth IEEE International Symposium on Network Computing and Applications (NCA 2007).

[41]  Dan S. Wallach,et al.  Dagster: Censorship-Resistant Publishing Without Replication , 2002 .

[42]  David S. H. Rosenthal,et al.  Using Storage Class Memory for Archives with DAWN , a Durable Array of Wimpy Nodes Technical Report UCSC-SSRC-1105 May 2011 , 2011 .

[43]  Peter F. Corbett,et al.  Row-Diagonal Parity for Double Disk Failure Correction (Awarded Best Paper!) , 2004, USENIX Conference on File and Storage Technologies.

[44]  Frédérique E. Oggier,et al.  Coding Techniques for Repairability in Networked Distributed Storage Systems , 2013, Found. Trends Commun. Inf. Theory.

[45]  Cheng Huang,et al.  Rethinking erasure codes for cloud file systems: minimizing I/O for recovery and degraded reads , 2012, FAST.

[46]  Kashi Venkatesh Vishwanath,et al.  Characterizing cloud computing hardware reliability , 2010, SoCC '10.

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

[48]  Rodrigo Rodrigues,et al.  Proceedings of Hotos Ix: the 9th Workshop on Hot Topics in Operating Systems Hotos Ix: the 9th Workshop on Hot Topics in Operating Systems High Availability, Scalable Storage, Dynamic Peer Networks: Pick Two , 2022 .

[49]  Dirk Grunwald,et al.  Massive Arrays of Idle Disks For Storage Archives , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[50]  Pascal Felber,et al.  Ensuring Data Durability with Increasingly Interdependent Content , 2015, 2015 IEEE International Conference on Cluster Computing.

[51]  Dimitris S. Papailiopoulos,et al.  XORing Elephants: Novel Erasure Codes for Big Data , 2013, Proc. VLDB Endow..

[52]  Cheng Huang,et al.  Erasure Coding in Windows Azure Storage , 2012, USENIX Annual Technical Conference.

[53]  Jehan-François Pâris,et al.  Simple data entanglement layouts with high reliability , 2016, 2016 IEEE 35th International Performance Computing and Communications Conference (IPCCC).

[54]  James S. Plank,et al.  A tutorial on Reed–Solomon coding for fault‐tolerance in RAID‐like systems , 1997, Softw. Pract. Exp..

[55]  Garth A. Gibson,et al.  Parity declustering for continuous operation in redundant disk arrays , 1992, ASPLOS V.

[56]  Tapas Kanungo,et al.  IBM Research Report Performance Metrics for Erasure Codes in Storage Systems , 2004 .

[57]  Frank R. Kschischang,et al.  Staircase Codes: FEC for 100 Gb/s OTN , 2012, Journal of Lightwave Technology.

[58]  Ivan Damgård,et al.  Entangled cloud storage , 2016, Future Gener. Comput. Syst..