论文部分内容阅读
随着高性能计算机计算性能的提高,其存储系统的规模也在不断扩展,单纯依靠传统的硬件平台容错方法已经逐渐无法满足系统对数据可靠性的要求,高性能计算机使用软件方法来保证数据和存储系统的可靠性是大势所趋。纠删码作为一种数据冗余技术,对比其它数据容错技术,具有较高的存储利用率和较强的容错能力,在云存储领域,已经开始得到较为广泛的关注。因此能否够将纠删码应用到高性能计算机的存储系统,从而从软件层面保障数据的可靠性成为该领域关注的热点问题。为了研究将纠删码应用到HPC存储系统中的可行性,我们分析了不同纠删码的编码计算开销,解码计算开销,容错率,存储空间利用率等特性,分析了纠删码应用到不同的云存储系统对系统性能和可靠性等方面的影响,分析了将纠删码应用到HPC存储系统中应重点研究的内容。基于以上的分析,我们进行了下列研究:分析了纠删码对HPC存储系统的性能的影响,并对关键的I/O操作——顺序写操作进行了优化,我们提出基于数据局部性的缓存技术减少了顺序写操作中编码计算的次数,又提出基于多条带并行的流水线技术进一步隐藏顺序写操作中部分计算和写入校验块的开销。并从理论上量化分析了优化技术对顺序写操作性能的提升。研究如何充分利用纠删码的解码恢复能力来提高HPC存储系统的可靠性和I/O性能,具体进行了以下三个方面的研究:1)分析了纠删码对HPC存储系统中恢复操作性能的影响,并提出优化的方案。2)分析了纠删码对降级读操作的影响,提出基于预读机制和缓存技术的PC-Read方法优化顺序读过程中发生的降级读操作,并从理论上量化分析了此方法对降级读操作性能的提升。3)提出了CR-Read方法优化由于IO易变性引发的聚合读效率低的问题,并提出一个算法——JMCR用来确定使用该方法的最佳时间点。针对本文提出的优化方法,设计实现了EDFS系统,EDFS系统是一个基于纠删码容错的原型验证系统。该系统堆叠在现有并行文件系统之上,支持对顺序I/O操作的优化方法,针对降级读操作提出的优化方法PC-Read及针对IO易变性提出的CR-Read方法进行实际效果的验证。本文使用基准benchmark对EDFS系统进行了测试,通过对数据的分析,我们认为纠删码的容错方法可以通过技术优化应用于HPC的存储系统中,并且可以兼顾数据访问的性能和可靠性。