论文部分内容阅读
在现代数据中心往往需要配置上万存储节点。在此大规模环境下,节点失效将成为常态,因此需要采用数据冗余技术来保证数据的可靠性。在传统模式下,往往采用多副本技术以保障数据可靠性。其实现方便,管理简单,而缺点是存储空间开销大。纠删码也是一种重要的数据冗余方案,在相同容错度情况下比副本存储空间开销要小,但其解码过程复杂,对失效数据的一次访问可能带来较大的网络传输及计算开销,造成性能上的影响。 针对此问题,首先提出了一种高效的本地优先解码算法LDF(Local Decoding First)。其主要思想是利用存储节点的计算能力及解码过程中的异或运算的可结合性,将一部分解码工作放到存储节点上进行,以减少访问失效数据带来的额外网络传输,改善存储系统的读性能;其次,在Hadoop底层文件系统HDFS上通过引入文件级校验组机制和I/O过程的条带化处理,实现了基于纠删码存储架构的原型系统;最后,在原型系统上实现了LDF方法,完成存储节点间的分布式校验计算过程,并比较了LDF算法优化前后的系统性能。 为了验证LDF的有效性,在一个40台机器的集群上对原型系统进行了测试。原型采用了两种常用的XOR编码作为基准,并使用五种典型工作流进行验证。测试结果表明,在多数情况下,LDF优化算法能大幅减少数据传输,进而提升系统的吞吐率及平均响应时间:LDF能够减少38%~56%的数据传输总量,提高38%~116%的系统吞吐率,并降低28.2%~52.3%的平均访问延迟。