论文部分内容阅读
大数据时代对传统存储系统的各项性能提出了全新的挑战。由于传统存储系统在大规模数据存储方面存在诸多缺陷,如系统扩展性差,数据安全性低,部分节点读写压力过大等,所以分布式存储系统凭借其优秀的可扩展性,可靠的数据安全保障机制,以及大规模读写操作时出色的吞吐性能等,成为当前大规模数据存储领域的主要解决方案。但因为分布式存储系统的底层设备普遍采用廉价商用硬件,故障率较高,所以会通过应用冗余策略来保障存储系统中数据的安全性。
与传统副本冗余策略相比,纠删码能够在同等冗余需求的前提下,尽可能的降低整体存储开销,但是纠删码冗余策略在节点修复过程中会产生较大流量并且修复速度较为缓慢。现阶段研究者们通过改善纠删码的编解码机制以及寻求更优秀的修复拓扑来克服上述劣势,但研究仍存在部分缺陷。首先,多数文献对于减少修复流量和降低修复时延的研究都是相互独立的,但事实是单纯优化修复流量会导致修复时延增加,而不考虑修复流量的修复时延优化可能会因修复流量过大导致网络拥塞;其次,大多数研究只考虑了链路带宽异构所对修复时延的制约,忽略节点处理能力异构对整体修复速率的影响,但随着编码规则的复杂化及修复拓扑规模的增大,节点对修复数据的处理时延也会随着节点处理能力的异构以及编码复杂度的增加而无法忽略;然后,针对多节点并行修复的研究较少,并且编码机制都相对复杂,缺少从单节点修复模式推广到多节点修复模式的研究;最后,现有修复机制普遍通过构建最优修复树来实现节点修复操作,但多节点修复方法普遍假设各修复树边不相交,由于其多棵修复树采用顺序构造,会使得拓扑中的高可用带宽链路链路被先构造的修复树独占,导致修复速率随修复树个数增加而降低,该设计的合理性存在一定缺陷。
针对上述的问题与挑战,本文对分布式存储系统中纠删码冗余机制下的节点修复过程展开研究,主要工作及创新如下:
(1)针对应用最小存储再生码MSR(Minimal Storage Regenerating)的单失效节点修复场景,设计一种新的单失效节点修复拓扑,综合考虑集群中链路可用带宽与节点处理能力的异构,对节点修复时延以及修复流量进行组合优化。将该拓扑转化为一个带有约束的StenierTree模型,设计相应的混合遗传算法求取全局近似最优解,最终实现两个优化目标的tradeoff。仿真结果表明,在同等规模的MSR码下,本拓扑的修复时延为传统树型修复拓扑的70%~90%,且仅为传统星型修复拓扑的35%~45%。虽然本拓扑内部的修复流量较传统星型拓扑增加了10%~20%,但对比传统树型拓扑,修复流量仅为其45%~60%。
(2)针对最小存储再生码(MSR)的多失效节点修复场景,通过将(1)中提出的单失效节点修复拓扑方案进行推广,并在其中加入允许对集群中高可用带宽链路进行复用的思想,设计出一种新的多失效节点修复拓扑方案,将多节点修复问题抽象成一个以修复时延和修复流量为目标函数的带约束优化问题,并设计相应的混合遗传算法进行求解。通过仿真实验的对比,在同等存储规模下,本文所多节点修复方案的修复时延较传统采用再生码的星型修修复方案减少了60%~80%,与采用边不相交思想设计的树型修复方案对比,本方案的修复时延也大幅降低,并且修复流量仅为传统边不相交树型修复方案的30%~40%。
与传统副本冗余策略相比,纠删码能够在同等冗余需求的前提下,尽可能的降低整体存储开销,但是纠删码冗余策略在节点修复过程中会产生较大流量并且修复速度较为缓慢。现阶段研究者们通过改善纠删码的编解码机制以及寻求更优秀的修复拓扑来克服上述劣势,但研究仍存在部分缺陷。首先,多数文献对于减少修复流量和降低修复时延的研究都是相互独立的,但事实是单纯优化修复流量会导致修复时延增加,而不考虑修复流量的修复时延优化可能会因修复流量过大导致网络拥塞;其次,大多数研究只考虑了链路带宽异构所对修复时延的制约,忽略节点处理能力异构对整体修复速率的影响,但随着编码规则的复杂化及修复拓扑规模的增大,节点对修复数据的处理时延也会随着节点处理能力的异构以及编码复杂度的增加而无法忽略;然后,针对多节点并行修复的研究较少,并且编码机制都相对复杂,缺少从单节点修复模式推广到多节点修复模式的研究;最后,现有修复机制普遍通过构建最优修复树来实现节点修复操作,但多节点修复方法普遍假设各修复树边不相交,由于其多棵修复树采用顺序构造,会使得拓扑中的高可用带宽链路链路被先构造的修复树独占,导致修复速率随修复树个数增加而降低,该设计的合理性存在一定缺陷。
针对上述的问题与挑战,本文对分布式存储系统中纠删码冗余机制下的节点修复过程展开研究,主要工作及创新如下:
(1)针对应用最小存储再生码MSR(Minimal Storage Regenerating)的单失效节点修复场景,设计一种新的单失效节点修复拓扑,综合考虑集群中链路可用带宽与节点处理能力的异构,对节点修复时延以及修复流量进行组合优化。将该拓扑转化为一个带有约束的StenierTree模型,设计相应的混合遗传算法求取全局近似最优解,最终实现两个优化目标的tradeoff。仿真结果表明,在同等规模的MSR码下,本拓扑的修复时延为传统树型修复拓扑的70%~90%,且仅为传统星型修复拓扑的35%~45%。虽然本拓扑内部的修复流量较传统星型拓扑增加了10%~20%,但对比传统树型拓扑,修复流量仅为其45%~60%。
(2)针对最小存储再生码(MSR)的多失效节点修复场景,通过将(1)中提出的单失效节点修复拓扑方案进行推广,并在其中加入允许对集群中高可用带宽链路进行复用的思想,设计出一种新的多失效节点修复拓扑方案,将多节点修复问题抽象成一个以修复时延和修复流量为目标函数的带约束优化问题,并设计相应的混合遗传算法进行求解。通过仿真实验的对比,在同等存储规模下,本文所多节点修复方案的修复时延较传统采用再生码的星型修修复方案减少了60%~80%,与采用边不相交思想设计的树型修复方案对比,本方案的修复时延也大幅降低,并且修复流量仅为传统边不相交树型修复方案的30%~40%。