论文部分内容阅读
随着大数据时代的到来,作为分布式存储系统的通用容错机制的纠删码也面临着新的挑战。纠删码的优点在于存储利用率非常高,但是恢复数据时需要大量的数据传输。目前对于纠删码的重构性能优化研究一般集中单节点数据修复优化上,而少有讨论多节点数据失效的情况。原因是研究者普遍认为,单节点故障的情况远多于多节点数据失效的情况,然而,随着存储中心规模不断增大,多节点同时失效的概率也在增加,多节点数据重构已然成为影响分布式存储系统整体性能的一大因素。为了提供更好的数据修复性能尤其是多节点数据修复性能,在LRC码的基础上提出了一种重叠分组修复码(RGRC),该编码提出了全分组和重叠编码的策略,可以降低数据修复成本。在同等的容错能力下,RGRC码比RS码的单节点修复成本降低了50%,多节点修复成本降低了25%;而与LRC码相比,RGRC码的单节点修复性能略优于LRC码,多节点的修复成本降低了25%。为了能对RGRC码进行实际的比较和应用,在Jerasure库中部署了(12,3,2,1)RGRC码,然后将其与容错能力同样是4的(12,3,2)LRC码和(12,4)RS码进行了测试。测试结果显示,在发生单节点失效时,(12,3,2,1)RGRC码比(12,4)RS码的数据修复性能提升了50%,而比(12,3,2)LRC码的数据修复性能提升了约15%。发生多节点数据失效时,(12,3,2,1)RGRC码较之(12,4)RS码数据修复性能提升了60%-70%,而对比(12,3,2)LRC码,修复性能也提升了约30%。之后,还进行了参数对比实验,在冗余度均为6的情况下,比较(12,2,3,1)RGRC码与(12,3,2,1)RGRC码和(12,2,2,2)RGRC码的修复性能。结果我们发现,更多的本地组能够更好了利用组内编码的方式进行数据重构,因而能够降低数据修复成本。