Balanced P-Code: A RAID-6 Code to Support Highly Balanced I/Os for Disk Arrays

Ping Xie, Jianzhong Huang, Qiang Cao, Changsheng M. Xie · 2014

There exist numerous erasure codes for RAID-6, of which MDS codes are popular due to the optimal storage efficiency. Although vertical MDS codes have better load balancing compared to horizontal MDS codes, unbalancing problem still exists in some vertical codes, e.g., P-Code. To address this issue, we propose a novel efficient RAID-6 code to support highly balanced I/Os among disk arrays - Balanced P-Code. In Balanced P-Code, We move the unevenly distributed information symbols in each parity chain of P-Code along their columns to other rows, thus enabling the parity chain to keep original parity calculation relationships and tolerate double disk failures. The Balanced P-Code can not only achieve optimal storage efficiency, computational complexity and update complexity, but also support better I/O balancing in the context of large scale storage systems. Apart from extensive theoretical analysis, empirical evaluation are conducted by running a wide range of workloads under various configurations. Experimental results show that Balanced P-Code has better load balancing ratio. Especially, in both random mixed single read/write and random mixed continuous read/write cases, Balanced P-Code outperforms P-Code in terms of load balancing ratio by a factor of up to 2.64 and 2.3, respectively.

Read the paper · More papers on PaperTik