分布式存储系统中纠删码的数据修复技术研究

分布式存储系统中纠删码的数据修复技术研究

论文摘要

在“大数据”时代背景下,信息技术产业已从以计算为核心的时代进入到了以存储为核心的时代,数据海量化成为了一种趋势。构建于普通服务器集群之上的分布式存储系统,因其成本低廉和扩展性高等优点被广泛应用于海量数据的存储。但是分布式存储系统节点规模庞大且单个节点可靠性不高,致使系统发生节点失效的概率大为提高。为了保证数据可靠性,系统必须采用一定的数据容错技术。纠删码作为一种可靠性高且存储空间消耗少的容错技术,对提高分布式存储系统的数据可靠性并降低其经济成本具有重大意义。但是纠删码数据修复网络负载高、数据修复速度低等问题严重阻碍了其在分布式存储系统中的广泛应用。针对以上问题,本文对纠删码的低网络负载数据修复技术和快速数据修复技术进行了深入研究,主要研究内容与贡献如下:数据修复网络负载的传统度量指标是传输的数据量,这一指标忽略了数据传输距离的不同,不能精确衡量修复过程中数据传输对网络性能产生的影响。针对此问题,本文提出了基于网络拓扑的网络负载度量指标:网络代价。网络代价将数据传输的网络负载定义为数据传输量与传输距离的乘积,更精确地描述了数据传输所占用的网络资源,从而更好地刻画了数据传输对网络性能造成的影响。实验结果表明,网络代价能够比数据传输量更加精确地反映数据传输对网络性能造成的影响,是更好的网络负载度量指标。针对纠删码数据修复网络代价过高的不足,本文提出了一种基于网络拓扑的树型数据修复技术NTree。NTree根据网络拓扑将参与修复的节点组织成总网络距离最小的树型修复结构(修复树),以最小化修复时数据的传输距离,从而使修复的网络代价达到最低。在此基础上,提出了提供节点组合的选择算法OpTree。OpTree能够在从所有可用节点中快速选取最优提供节点组合的同时构建出最优的修复树,进一步降低NTree的网络代价。大量的模拟实验结果表明,NTree相比于现有的星型修复方法,可将纠删码数据修复的网络代价降低20%-45%。针对纠删码数据修复速度慢导致退化读性能差的问题,提出了一种基于网络拓扑的线型数据修复技术NLine。对NTree修复过程的深入分析表明,修复速度与修复树的最大入度成反比。NLine根据网络拓扑将参与修复的节点组织成最大入度为1的线型修复结构(修复路径),从而达到了最快的修复速度。同时,为了尽量降低NLine的网络代价,提出了近似最优的修复路径规划算法OpLine。大量模拟实验结果表明,NLine能够以接近于NTree网络代价获得至少比星型修复方法高400%,比NTree高100%的修复速度。基于上述理论研究成果,设计实现了一个纠删码数据修复原型系统ECRepair。ECRepair完全遵循机制与策略分离的设计原则,不仅支持基于网络拓扑的树型数据修复技术NTree和基于网络拓扑的线型数据修复技术NLine,也可以方便地添加对其它树型修复技术的支持,并且适用于任何线性纠删码。大量真实环境下的实验结果表明,在星型修复方法、基于网络拓扑的树型数据修复技术NTree和基于网络拓扑的线型数据修复技术NLine中,NTree具有最低的网络代价和最高的并行修复速度,NLine具有最快的串行修复速度和最高的退化读性能,进一步验证了理论分析和模拟实验的结果。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 分布式存储系统概述
  • 1.1.1 大规模存储应用
  • 1.1.2 数据容错问题
  • 1.2 数据容错技术概述
  • 1.2.1 多副本技术
  • 1.2.2 纠删码技术
  • 1.3 纠删码技术概述
  • 1.3.1 Reed-Solomon码
  • 1.3.2 基于分组编码的纠删码
  • 1.3.3 基于网络编码的纠删码
  • 1.3.4 纠删码技术面临的主要问题和挑战
  • 1.4 主要研究内容
  • 1.5 论文组织结构
  • 第二章 相关研究
  • 2.1 数据修复模型
  • 2.1.1 基于网络信息流的数据修复模型
  • 2.1.2 基于可用带宽的数据修复模型
  • 2.2 纠删码的低网络负载数据修复技术
  • 2.2.1 基于弹性的数据修复技术
  • 2.2.2 基于节点间相互协作的数据修复技术
  • 2.2.3 基于异或操作纠删码的数据修复技术
  • 2.3 纠删码的快速数据修复技术
  • 2.3.1 基于可用带宽的串行树型数据修复技术
  • 2.3.2 基于可用带宽的并行树型数据修复技术
  • 2.4 本章小结
  • 第三章 纠删码的数据修复问题建模
  • 3.1 数据修复问题的描述
  • 3.1.1 纠删码的编解码与数据修复原理
  • 3.1.2 纠删码数据修复问题的统一表示
  • 3.2 数据修复的网络负载建模
  • 3.2.1 网络代价
  • 3.2.2 网络距离的获得
  • 3.2.3 数据修复的网络模型
  • 3.3 实验结果与分析
  • 3.3.1 实验环境
  • 3.3.2 实验设置
  • 3.3.3 结果与分析
  • 3.4 本章小结
  • 第四章 纠删码的低网络负载数据修复技术研究
  • 4.1 树型修复技术:NTree
  • 4.2 最优修复树的构建
  • 4.2.1 问题描述
  • 4.2.2 问题求解
  • 4.3 最优提供节点组合的选择算法
  • 4.4 模拟实验结果与分析
  • 4.4.1 实验设置
  • 4.4.2 网络代价
  • 4.5 本章小结
  • 第五章 纠删码的快速数据修复技术研究
  • 5.1 修复时间的分析与优化
  • 5.1.1 修复时间分析
  • 5.1.2 修复时间优化
  • 5.2 线型修复技术:NLine
  • 5.3 修复路径规划算法
  • 5.4 模拟实验结果与分析
  • 5.4.1 网络代价
  • 5.4.2 修复时间
  • 5.5 本章小结
  • 第六章 纠删码数据修复原型系统的设计与实现
  • 6.1 HDFS-RAID
  • 6.2 ECRepair的总体架构
  • 6.3 基本流程
  • 6.4 修复技术的实现
  • 6.4.1 Linear RS
  • 6.4.2 修复任务分发
  • 6.4.3 树型修复的实现
  • 6.4.4 线型修复的实现
  • 6.5 实验结果与分析
  • 6.5.1 基本测试
  • 6.5.2 网络代价
  • 6.5.3 修复速度
  • 6.5.4 退化读速度
  • 6.6 本章小结
  • 第七章 结束语
  • 7.1 工作总结
  • 7.2 研究展望
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 作者在学期间参加的主要科研工作
  • 相关论文文献

    标签:;  ;  ;  

    分布式存储系统中纠删码的数据修复技术研究
    下载Doc文档

    猜你喜欢