Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Short Code: An Efficient RAID-6 MDS Code for Optimizing Degraded Reads and Partial Stripe Writes

Published: 01 January 2017 Publication History

Abstract

As reliability requirements are increasingly important in both clusters and data centers, RAID-6, which can tolerate any two concurrent disk failures, has been widely used in modern storage systems. However, most existing RAID-6 codes cannot provide satisfied performance on both degraded reads and partial stripe writes, which are important performance metrics in storage systems. To address these problems, in this paper we propose a new RAID-6 MDS erasure code called Short Code, in order to optimize the degraded reads and partial stripe writes. In Short Code, we propose a novel short horizontal parity chain, which assures that all disks contribute to degraded reads while the continuous data elements are more likely to share the same horizontal chain for optimizing degraded reads. On the other hand, Short Code distributes all diagonal parities among disks for optimizing partial stripe writes. The proposed Short Code not only owns the optimal storage efficiency, but also keeps the optimal complexity for both encoding/decoding computations and update operations. The experiments show that Short Code achieves much higher speed on degraded reads and partial stripe writes than other popular RAID-6 codes, and provide acceptable performance on single disk failure recoveries and normal reads. Specifically, compared to RDP code, Short Code provides 6.1 to 26.3 percent higher speed on degraded reads and 36.2 to 80.3 percent higher speed on partial stripe writes with the same number of disks.

References

[1]
S. Ghemawat, H. Gobioff, and S. Leung, “ The Google file system,” in Proc. 19th ACM Symp. Oper. Syst. Princ., 2003, pp. 29–43.
[2]
B. Calder, “ Windows Azure system: A highly available cloud storage service with strong consistency,” in Proc. 23rd ACM Symp. Oper. Syst. Princ., 2011, pp. 143–157.
[3]
J. Kubiatowicz, “ Oceanstore: An architecture for global-scale persistent storage,” in Proc. 9th Int. Conf. Archit. Support Program. Languages Oper. Syst., 2000, pp. 190–201.
[4]
C. Wu, “ HDP Code: A horizontal-diagonal parity code to optimize I/O load balance in RAID-6,” in Proc. IEEE/IFTP 41st Int. Conf. Dependable Syst. Netw., 2011, pp. 209–220.
[5]
B. Fan, W. Tanisiriroj, L. Xiao, and G. Gibson, “ DiskReduce: RAID for data intensive scalable computing,” in Proc. 4th Annu.Parallel Data Storage Workshop, 2009, pp. 6–10.
[6]
F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes . New York, NY, USA: North-Holland, 1977.
[7]
P. Corbett, “ Row-Diagonal Parity for double disk failure correction,” in. Proc. 3rd USENIX Conf. File Storage Technol., 2004, pp. 1–1.
[8]
M. Blaum, J. Bruck, and J. Nebib, “ EVENODD: An efficient scheme for tolerating double disk failures in RAID architectures,” IEEE Trans. Inf. Theory, vol. Volume 45, no. Issue 1, pp. 46–59, Jun. 1999.
[9]
L. Xu, and J. Bruck, “ X-Code: MDS array codes with optimal encoding,” IEEE Trans. Inf. Theory, vol. Volume 45, no. Issue 1, pp. 272–276, 1999.
[10]
B. Schroeder and G. Gibson, “ Disk failures in the real world: What does an MTTF of 1,000,000 hours mean to you?” in Proc. 5th USENIX conf. File Storage Technol., 2007, Article No. 1.
[11]
O. Khan, R. Burns, J. Plank, and W. Pierce, “ Rethinking erasure codes for cloud file systems: Minimizing I/O for recovery and degraded reads,” in Proc. 10th USENIX conf. File Storage Technol., 2012, pp. 20–20.
[12]
L. Xiang, Y. Xu, J. Lui, and Q. Chang, “ Optimal recovery of single disk failures in RDP code storage systems,” in Proc. ACM SIGMETRICS Int. Conf. Meas. Model. Comput. Syst., 2010, pp. 119–130.
[13]
C. Huang, “ Erasure coding in Windows Azure storage,” in Proc. USENIX Conf. Annu. Tech. Conf., Jun., 2012, pp. 2–2.
[14]
D. Ford, “ Availability in globally distributed storage systems,” in Proc. 9th USENIX Conf. Oper. Syst. Des. Implementation, 2010, pp. 61–74.
[15]
C. Wu, S. Wan, X. He, Q. Cao and C. Xie, “ H-Code: A hybrid MDS array code to optimize large stripe writes in RAID-6,” in Proc. IEEE Parallel Distrib. Process. Symp., 2011, pp. 782–793.
[16]
D. Patterson, G. Gibson, and R. Katz, “ A case for redunant arrays of inexpensive disks (RAID),” in Proc. ACM SIGMOD Int. Conf. Manage. Data, 1988, pp. 109–116.
[17]
J. Plank, “ The RAID-6 liberation codes,” in Proc. 6th USENIX Conf. File Storage Technol., 2008, Art. no. 7.
[18]
J. Plank, S. Simmerman, and C. Schuman, “ Jerasure: A library in C/C++ facilitating erasure coding for storage applications-Version 1.2,” Univ. Tennessee, Knoxville, TN, USA, Tech. Rep. CS-08-627, 2008.
[19]
J. L. Hafner, V. Deenadhayalan, T. Kanungo, and K. Rao, “ Performance metrics for erasure codes in storage systems,” IBM Research, San Jose, CA, USA, Tech. Rep. RJ 10321, 2004.
[20]
I. Reed and G. Solomon, “ Polynomial codes over certain finite fields,” J. Soc. Ind. Appl. Math., vol. Volume 8, pp. 300–304, 1960.
[21]
J. Blomer, M. Kalfane, R. Krap, M. Karpinski, M. Luby, and D. Zuckerman, “ An XOR-based erasure-resilient coding scheme,” Int. Comput. Sci. Inst., Berkeley, CA, USA, Tech. Rep. TR-95-048, 1995.
[22]
J. Plank, “ A new minimun density RAID-6 code with a word size of eight,” in Proc. 7th IEEE Int. Symp.Netw. Comput. Appl., 2008, pp. 85–92.
[23]
M. Blaum, and R. Roth, “ On lowest density MDS codes,” IEEE Trans. Inf. Theory, vol. Volume 45, no. Issue 1, pp. 46–59, 1999.
[24]
L. Xu, V. Bohossian, J. Bruck, and D. Wagner, “ Low-density MDS codes and factors of complete graphs,” IEEE Trans. Inf. Theory, vol. Volume 45, no. Issue 6, pp. 1817–1826, 1999.
[25]
Y. Cassuto and J. Bruck, “ Cyclic lowest density MDS array codes,” IEEE Trans. Inf. Theory, vol. Volume 55, vol. 4, pp. 1721–1729, 2009.
[26]
J. Hafner, “ HoVer erasure codes for disk arrays,” in Proc. IEEE/IFIP Int. Conf. Dependable Syst. Netw., 2006, pp. 217–226.
[27]
J. Hafner, “ WEAVER codes: Highly fault tolerant erasure codes for storage systems,” in Proc. 4th Conf. USENIX Conf. File Storage Technol., 2005, pp. 16–16.
[28]
K. Greenan, X. Li, and J. Wylie, “ Flat XOR-based erasure codes in storage systems: Constructions, efficient recovery, and tradeoffs,” in Proc. IEEE 26th Symp. Mass Storage Syst. Technol., 2010, pp. 1–14.
[29]
X. Luo and J. Shu, “ Generalized X-Code: An efficient RAID-6 code for arbitrary size of disk array,” ACM Trans. Storage, vol. Volume 8, no. Issue 3, 2012, Art. No. 10.
[30]
Y. Hu, H. Chen, P. Lee, and Y. Tang, “ NCCloud: Applying network coding for the storage repair in a cloud-of-clouds,” in Proc. 10th USENIX Conf. File Storage Technol., 2012, pp. 21–21.
[31]
I. Tamo, Z. Wang, and J. Bruck, “ Zigzag codes: MDS array codes with optimal rebuilding,” IEEE Trans. Inf. Theory, vol. Volume 59, no. Issue 3, pp. 1597–1616, 2013.
[32]
J. Plank, J. Luo, C. Schuman, L. Xu and Z. W. O'Hearn, “ A performance evaluation and examination of open-source erasure coding libraries for storage,” in Proc. USENIX 7th Conf. File Storage Technol., 2009, pp. 253–265.
[33]
J. Plank, M. Blaum, and J. Hafner, “ SD codes: Erasure codes designed for how storage systems really fail,” in Proc. 11th USENIX Conf. File Storage Technol., 2013, pp. 95–104.
[34]
M. Li and P. Li, “ STAIR Codes: A general family of erasure codes for tolerating device and sector failures in practical storage systems,” in Proc. 12th USENIX Conf. File Storage Technol., 2014, pp. 147–162.
[35]
M. Li and J. Shu, “ C-Codes: Cyclic lowest-density MDS array codes constructed using starters for RAID 6,” in Proc. Comput. Res. Repository, 2011.
[36]
X. Luo and J. Shu, “ Load-balanced recovery schemes for single-disk failure in storage systems with any erasure code,” in Proc. 42nd IEEE Int. Conf. Parallel Process., 2013, pp. 552–561.
[37]
C. Jin, H. Jiang, D, Feng, L, Tian, “ P-Code: A new RAID-6 code with optimal properties,” in Proc. 23rd Int. Conf. Supercomput., 2009, pp. 360–369.
[38]
P. Xie, J. Huang, Q. Cao, and C. Xie, “ Balanced P-Code: A RAID-6 code to support highly balanced I/Os for disk arrays,” in Proc. 9th IEEE Int. Conf. Netw. Archit. Storage, 2014, pp. 133–137.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Computers
IEEE Transactions on Computers  Volume 66, Issue 1
January 2017
177 pages

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 January 2017

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Nscale: an efficient RAID-6 online scaling via optimizing data migrationThe Journal of Supercomputing10.1007/s11227-022-04752-579:3(2383-2403)Online publication date: 1-Feb-2023
  • (2021)HS6: An Efficient H-Code RAID-6 Scaling by Optimizing Data Migrating and Parity UpdatingThe Journal of Supercomputing10.1007/s11227-021-03739-y77:11(12987-13017)Online publication date: 1-Nov-2021
  • (2021)HDS: optimizing data migration and parity update to realize RAID-6 scaling for HDPCluster Computing10.1007/s10586-021-03379-024:4(3815-3835)Online publication date: 1-Dec-2021
  • (2019)N-CodeProceedings of the 48th International Conference on Parallel Processing10.1145/3337821.3337829(1-10)Online publication date: 5-Aug-2019

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media