a comprehensive study on raid6 codes: horizontal vs. vertical chao jin*, dan feng*, hong jiang†,...
TRANSCRIPT
![Page 1: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/1.jpg)
A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical
Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*†*Huazhong University of Science and Technology
†University of Nebraska-Lincoln
![Page 2: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/2.jpg)
Outline
• Background• Code-Length Extending Algorithm for Vertical
RAID6 Codes• Performance Analysis and Comparison• Conclusion
![Page 3: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/3.jpg)
Background• RAID6 Codes– Can tolerate two concurrent disk
failures (column erasures)• Horizontal RAID6 Codes– Parity blocks held in dedicated
parity columns– Data blocks held in data columns
• Vertical RAID6 Codes– No dedicated parity column– Data columns hold both data
and parity blocks
(1) (2) (3) (4) (5) (6)
(2,6) (3,6) (1,2) (1,3) (1,4) (1,5)
(3,5) (4,5) (4,6) (5,6) (2,3) (2,4)
D1 D2 D3 D6D4 D5
Parity Blocks Data Blocks
RDP - Horizontal Code
P-Code - Vertical Code
![Page 4: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/4.jpg)
Background• RAID6 Code-Length Restrictions– Lengths (number of columns in the code structure) can not
be an arbitrary number– Usually related to a prime number– RDP: prime+1; P-Code: prime-1, prime; …
• RAID6 Code-Length Extensions– Horizontal Codes: easy to extend; just by removing data
columns directly– Vertical codes: harder; can not be extended like horizontal
codes
![Page 5: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/5.jpg)
Code-Length Extensions for Horizontal Codes
• Code-Length Extension: shortening from a standard code• Removing some columns directly from the standard code• Result in extended codes with shorter code lengths• Removed columns assumed to contain only zeros, thus do not
affect the fault-tolerating ability of the extended codes
(1,5)
(2,6)
(3,7)
(4,8)
(1,6)
(2,7)
(3,8)
(4)
(1,7)
(2,8)
(3)
(4,5)
(1,8)
(2)
(3,5)
(4,6)
(1)
(2,5)
(3,6)
(4,7)
(5)
(6)
(7)
(8)
D1 D2 D3 D4 P QStandard RDP Code
with 6 columns
Assume the column contain zeros,
remove it from the code structure
Extended RDP Code with 5 columns
![Page 6: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/6.jpg)
Code-Length Extensions for Vertical Codes• Vertical codes can not be shortened directly like horizontal
codes• Each column contain not only data blocks but also parity blocks• Removing a parity block may leave the parity stripe in an
inconsistent state• Tow extending algorithms for vertical codes are proposed
D1
(2,6)(3,5)
(1)
D2
(3,6)(4,5)
(2)
D3
(1,2)(4,6)
(3)
D4
(1,3)(5,6)
(4)
D5
(1,4)(2,3)
(5)
D6
(1,5)(2,4)
(6)(2,6) (3,6)(2,6)
(4,6)(3,6)(2,6)
(5,6)(4,6)(3,6)(2,6)
Parity stripe P(6) loses the failure recovery ability
![Page 7: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/7.jpg)
Code-Length Extensions for Vertical Codes
• First extending algorithm– Select a new parity block for the parity stripe– The parity block is originally a data block of the parity stripe– The parity stripe remain consistent!
D1
(2,6)(3,5)
(1)
D2
(3,6)(4,5)
(2)
D3
(1,2)(4,6)
(3)
D4
(1,3)(5,6)
(4)
D5
(1,4)(2,3)
(5)
D6
(1,5)(2,4)
(6)(2,6) (3,6)(2,6)
(4,6)(3,6)(2,6)
(5,6)(4,6)(3,6)(2,6)
(4,6)(3,6)
(5,6)(4,6)(3,6)
(3,6) (4,6) (5,6) (2,6) =
![Page 8: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/8.jpg)
Code-Length Extensions for Vertical Codes
• Second extending algorithm– Remove the entire parity stripe from the code structure– Additional data blocks may be removed to keep an equal
number of blocks per column– Removed blocks may be assumed to be zero blocks
D1
(3,5)(1)
D2
(4,5)(2)
D3
(1,2)(4,6)
(3)
D4
(1,3)(5,6)
(4)
D5
(1,4)(2,3)
(5)
D6
(1,5)(2,4)
(6)
(4,6) (5,6)(4,6)(3,6)(2,6)
![Page 9: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/9.jpg)
RAID6 Code Performance Metrics• Space Efficiency– Ratio between data volume and whole volume (data and
parity volume). [Optimal (highest, MDS Codes): (n-2)/n] – Related to the redundant rate of the RAID6 systems
• Update Complexity– Average number of parity blocks need to be updated upon
each data block update. [Optimal (lowest): 2]– Impact write overhead of the RAID6 systems
• Computational Complexity– Average number of XOR per data block during
encoding/decoding. [Optimal (lowest) for MDS Codes: 2-2/(n-2) , (n-3)]
– Impact CPU overhead of the RAID6 systems
![Page 10: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/10.jpg)
Space Efficiency
• Space efficiency comparison for RDP and P-Code– Non-standard code lengths obtained by code-length extending
algorithms– P-Code – first/second refers to extended P-Code by the first/second
extending algorithm for vertical codes– RDP and P-Code – first are MDS codes with optimal space efficiency;
P-Code – second is non-MDS codes
![Page 11: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/11.jpg)
Computational Complexity• Computational complexity comparison for RDP and P-Code
– RDP and P-Code – first have non-optimal (higher) computational complexity at extended code lengths
– P-Code – second has even lower computational complexity than the optimal computational complexity for MDS codes
– Reveal that non-MDS codes has lower computational complexity than MDS codes; proved trade offs between space efficiency and computational complexity
![Page 12: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/12.jpg)
Update Complexity
• Update complexity comparison between RDP and P-Code– P-Code – second always has the optimal update complexity of 2– P-Code – first has non-optimal update complexity at extended lengths– RDP has non-optimal update complexity, with an asymptotic value of 3
![Page 13: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/13.jpg)
Summarize
RAID-6 CodesSpace Efficiency Computational
Complexity Update Complexity
Standard Lengths
Extended Lengths
Standard Lengths
Extended Lengths
Standard Lengths
Extended Lengths
RDPMDS
(optimal)MDS
(optimal)
Optimal Of
MDS
Higher than
optimal of MDS
> 2Higher than
optimal
> 2 Higher than
optimal
P-Code - first
MDS(optimal)
MDS(optimal) Optimal
Of MDS
Higher than
optimal of MDS 2
(optimal)
> 2Higher than
optimal
P-Code - secondNon-MDS
(lower than optimal)
Lower than
optimal of MDS
2(optimal)
![Page 14: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/14.jpg)
Vertical shortening of vertical RAID6 codes
• Removing data rows instead of columns from the vertical code structure• Data rows do not contain parity blocks, so vertical shortening do not
damage the parity stripe consistency• Vertically shortened codes are non-MDS codes, but with lower
computational complexity• Provide tradeoffs between space efficiency and computational complexity
D1
(2,6)
(3,5)
(1)
D2
(3,6)
(4,5)
(2)
D3
(1,2)
(4,6)
(3)
D4
(1,3)
(5,6)
(4)
D5
(1,4)
(2,3)
(5)
D6
(1,5)
(2,4)
(6)
(2,6) (3,6)(2,6)
(4,6)
(3,6)(2,6)
(5,6)(4,6)
(3,6)(2,6)
Assume they are zero blocks and remove them
Vertically shortened P-Code
![Page 15: A Comprehensive Study on RAID6 Codes: Horizontal vs. Vertical Chao Jin*, Dan Feng*, Hong Jiang†, Lei Tian*† *Huazhong University of Science and Technology](https://reader035.vdocument.in/reader035/viewer/2022081603/56649cda5503460f949a3fa1/html5/thumbnails/15.jpg)
Conclusions
• Horizontal codes are easy to be extended to eliminate the code-length restrictions, but vertical codes are not easy to be extended. We proposed two extending algorithms for vertical codes. The first one selects a new parity block for the parity stripe; the second one removes the entire parity stripe from the code structure.
• We compared the performance of horizontal codes and vertical codes at consecutive code lengths. We also studied the impact of the code-length extending algorithms on the performance of the RAID6 codes.
• We proposed the vertical shortening algorithm for vertical codes. The algorithm can provide the tradeoff between space efficiency and computational complexity for vertical codes.