论文部分内容阅读
随着网络存储系统中的信息量的爆炸式增长,系统的存储容量需求日益提高。而随着海量存储系统中的磁盘数目越来越多,由磁盘故障所引起的数据丢失的可能性也越来越大,系统的可靠性也随之下降。利用冗余数据编码技术是公认的提高存储系统可靠性的较好方法。
本文对网络存储编码的相关算法进行了研究,针对单容错和双容错网络磁盘阵列的编码(初始化同步)与解码(故障磁盘重构)操作,在分析了原始的集中式算法的基础上,提出了更高效的分布式并行算法。
在单容错的编码与解码方案方面,本文重点研究了RAID5(奇偶校验)编码的并行算法,针对集中式奇偶校验编码算法在运行时间和伸缩性上的不足,提出了将编码/解码计算过程与组通信操作相融合的思想,设计了基于多对一归约操作的并行编码/解码算法及更为高效的基于多对多归约操作的编码/解码算法。理论分析表明,两种基于组通信的算法相对于集中式算法性能优势明显,而基于多对多归约的算法还具有良好的伸缩性。
本文还针对双容错编码方案RDP,提出了与组通信相融合的基于多对一归约的并行算法。针对现有组通信模式与RDP编码/解码计算过程不吻合的问题,提出了适合RDP码的一种全新的组通信模式--双路多对一归约操作,为其设计了高效算法,并基于双路多对一归约操作设计了更为高效的RDP并行编码/解码算法。
本文对各种算法进行了详细的时间代价和伸缩性分析,比较各算法之间的优劣。在实际超级计算机平台上进行了详尽的实验,实验结果很好的验证了理论分析的结论,与组通信相融合的编码/解码算法体现出明显的性能优势,基于双路多对一归约的算法较之基于传统归约操作的算法又有进一步的性能提升,而基于多对多归约的算法表现出良好的伸缩性。