XF Erasure Coding for Low-Bandwidth Distributed Storage Repair
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing erasure codes, such as Reed-Solomon codes, require high network bandwidth and disk I/O during node failure reconstruction in distributed storage systems, leading to increased storage overheads and repair bandwidth consumption.
Innovation Solution
The implementation of an XF erasure code that divides nodes into groups based on packet type for efficient data retrieval and reconstruction, using a processor to receive and reconstruct data symbols from available nodes, reducing the need for extensive network bandwidth and disk input/output operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Reed-Solomon erasure codes are used in distributed storage systems, then reliability is maintained at the same level as data replication, but network bandwidth and disk I/O requirements increase significantly during node failure reconstruction
Solution Approach 1:
The patent divides the n nodes into multiple groups based on packet type (data packets and parity packets). When a node fails, the system only retrieves symbols from nodes in the same group and one symbol from nodes in different groups, rather than requiring access to all k data nodes. This segmentation reduces the scope of data retrieval operations during reconstruction.
Solution Approach 2:
The patent implements group-specific retrieval where nodes are organized into groups based on their packet types. The reconstruction process prioritizes local group members first, requiring n−k symbols from the same group and only one symbol from different groups. This local quality approach minimizes the amount of data that needs to be fetched from across the entire system.
2Reliability
If Reed-Solomon erasure codes are used in distributed storage systems, then reliability is maintained at the same level as data replication, but disk I/O requirements increase significantly during node failure reconstruction
Solution Approach 1:
The patent segments nodes into groups based on packet type, allowing the system to retrieve data from a limited subset of nodes rather than all data nodes. This segmentation directly reduces the quantity of disk I/O operations required during reconstruction.
Solution Approach 2:
By organizing nodes into groups and prioritizing retrieval from local group members, the patent reduces the total volume of disk I/O operations. The system only needs to read n−k symbols from same-group nodes and one symbol from different-group nodes, significantly fewer operations than traditional Reed-Solomon codes.
3Quantity of substance
If data replication methods are used in distributed storage systems, then storage overhead is high, but network bandwidth and disk I/O during reconstruction are lower compared to Reed-Solomon codes
Solution Approach 1:
The patent uses segmentation to reduce the reconstruction bandwidth requirement of erasure codes to levels comparable to replication, while maintaining lower storage overhead. By dividing nodes into groups and limiting retrieval to specific groups, the system achieves efficient reconstruction without requiring full replication of data.
Solution Approach 2:
The group-based local quality approach allows the system to achieve replication-like reconstruction efficiency with erasure code storage overhead. Nodes only need to communicate within their groups during reconstruction, reducing overall network bandwidth consumption while maintaining the space efficiency of erasure codes.
Data Source
AI summary
An encoding apparatus includes a processor and a communication interface operably coupled to a distributed storage system (DSS) that includes n storage device nodes. The processor is coupled to the communication interface, and configured to encode the nodes according to an XF erasure code by: dividing a number of symbols of original data into k data packets; selecting k of the storage device nodes to store the k data packets and n−k other storage device nodes to store parity packets; outputting the k data packets to the k selected storage device nodes; obtaining an XF code generator matrix; generating n−k parity packets according to a function of the k data packets and the XF code generator matrix; and outputting the n−k parity packets to each of the n−k other storage device nodes.


