论文部分内容阅读
信息资源的爆炸性增长、云计算模式的兴起与应用,对存储系统的存储容量、数据可用性以及I/O性能等方面提出了巨大挑战。构建超大容量、高性能、高可靠性的存储系统是学术界和工业界一直追求的目标。现代存储系统往往由成百上千个存储节点组成,多个存储节点同时出现故障概率大大增加,会出现因存储节点故障导致数据丢失的灾难性后果。因此,如何设计多节点容错存储系统的数据容错方案,如何提高多节点容错存储系统的I/O性能,已是海量存储系统迫切需要解决的问题。本文以如何提高海量存储系统的可靠性和I/O性能为研究目标,对多节点容错存储系统的数据容错和缓存组织问题进行了探索性和创新性研究,主要研究内容和创新性成果如下:1、针对双节点容错存储系统的数据容错问题,提出了一种高效的数据容错方案——水平旋转码HRC。HRC是一类最小列距离为3的MDS阵列码,满足RAID-6规范,且具有最优的编译码复杂度。本文从理论上定义了HRC,证明了其纠正任意双列删除错误的能力和MDS性质,并给出纠正双列删除错误的快速译码算法。与现有的RAID-6实现方案如EVENODD和RS码比较,HRC具有编译码算法简单,实现复杂度低,易于软硬件实现等特点。2、针对三节点容错存储系统的数据容错问题,通过扩展HRC提出了两种高效的数据容错方案扇状码FSC和三星码TSC。从几何特性上看,FSC和TSC是在HRC基础上分别增加了一列斜率为-2和斜率为1的校验。TSC通过优化第三列校验的生成方式可以获得比FSC更快的译码速度。本文从理论上证明了FSC和TSC纠正任意3列删除错误的能力,并给出了各种删除错误模式下的译码算法。FSC和TSC都是最小列距离为4的MDS阵列码,编译码速度优于G-EVENODD码(r=3)和STAR码。3、针对多节点(≥4)容错存储系统的数据容错问题,提出了一种高效的数据容错方案—垂直旋转码VRC。VRC采用纠删码的图表示方法描述,是一种垂直阵列码。VRC具有较高容错能力、参数限制少、适应性高等特点,基于VRC构建的存储系统具有负载均衡、最优更新代价等优点。本文阐述了VRC的编码思想和构造方法,提出了用解线性方程组方法进行译码,从理论上证明了VRC能纠正任意q个节点删除错误。与其他能纠正任意q个存储节点删除错误的编码,如RS码、LDPC码相比,VRC具有编译码规则简单,编译码计算开销小等优点。4、针对多节点容错存储系统的缓存结构设计问题,提出了一种基于DRAM和固态硬盘的多元化存储介质缓存结构M-Cache,以及该缓存结构的高效组织和管理方法。在M-Cache中,根据访问方式的不同,主机访问数据被划分为主机读数据和主机写数据。DRAM存储器既存放主机读数据又存放主机写数据,基于Flash的固态硬盘只存放主机写数据,主机写数据在写入DRAM存储器的同时也被写入基于Flash的固态硬盘。新的缓存结构M-Cache充分利用了DRAM存储器的快速随机访问特性和基于Flash的固态硬盘掉电后长久保存数据能力,提高了缓存系统的读写性能和数据的可靠性。5、针对多节点容错存储系统的缓存置换管理问题,提出了一种写优先的缓存置换管理算法WP-LRU。WP-LRU算法基于存储系统缓存中淘汰主机写数据块的代价远大于淘汰主机读数据块的原理,根据主机访问模式的不同将缓存中的数据块划分为主机读数据块和主机写数据块,对两种不同类型的数据块实施不同的管理策略:主机读数据块使用常见的LRU算法进行管理,主机写数据块使用聚合写算法进行管理。WP-LRU算法具有良好的扩展性,在不改变缓存命中率的情况下可降低系统的平均服务时间,提高系统整体性能。