论文摘要
现在的企业和个人越来越多的依赖于存储在计算机系统的信息。尽管现在的磁盘驱动器的平均失效等待时间(MTTF)值越来越高,磁盘的性能大大的提高,但是,存储需求在以巨大的速度增加,一个足够大的存储集合仍然在遭受着频繁的故障问题。更糟糕的是,从备份的磁带等系统完全恢复一个大型的存储系统需要数个小时甚至数天或数月,这就使得系统故障恢复的代价变得非常昂贵。针对现有的技术发展,磁盘阵列异步恢复路径(Asynchronous Path of RecoveryCode,APoRC)软件架构主要是从如何将主代码路径与恢复路径区分进行探讨和研究,致力于给用户提供一个通用的软件架构,并能够根据不同的负载特征动态调整系统的性能。以往的研究侧重于提供允许快速原型和评价冗余磁盘阵列架构,到目前为止,RAID的软件架构并没有太大的改变,在性能调整及通用性方面还有很大的缺陷。在保障RAID的软件架构通用性的前提下,提出了一种基于异步返回机制的软件架构,将目前的RAID核心部分改进为优化和执行两个组件,这两个组件之间采用了异步返回机制,这在传统架构中是无法实现的,在这种异步架构下可以对系统动态配置,从而使得系统和故障处理的灵活性得到提升。阵列软件架构中的缓存对整个存储系统的性能也起着非常至关重要的角色。缓存在读/写操作上存在并行性问题,同时,在局部性问题上也有很多的缺陷。过去的研究在解决这些问题的时候,在一方面比较好,那么在另一方面就比较差,要么时间局部性得到了加强,但是空间局部性就减弱了,要么空间局得到部性加强,但是时间局部性就减弱了。论文在APoRC软件架构中提出了一种双重cache机制,将读写cache分开设计,使得用户的读/写请求能并行执行,并将读cache又分为两级,靠近用户的一级部分使用较小的数据块为单位,并且采用组相联的映射方案,同时采用HASH算法作为其搜索算法,这样的设计可以提高缓存系统的时间局部性。靠近存储的二级部分使用较大的数据块为单位,采用全相联的映射方案,这样可以增大缓存系统的空间局部性。与此同时,通过对读cache部分进行建模,理论的分析并确定了预留部分与动态部分合理的比例。通过这些设计,提升了系统性能。故障处理是磁盘阵列性能的源泉。APoRC新架构是基于不同恢复路径的,故障处理以及导盘操作在新架构下主要集中在重构处理策略上。论文在重构策略中引入了生成矩阵和校验矩阵的概念,并将RAID的分条通过生成矩阵表示,利用生成矩阵的性质进行矩阵化操作,然后通过生成矩阵本身的属性进行简化,并利用矩阵运算以及伪逆运算可以快速获得重构的公式,从而提高系统的重构性能,相比高度依赖于纠删码和具体RAID编码布局的重构算法,具有更强的数据恢复能力。在论文的最后进行了工作总结,并讨论了将来可能继续的研究方向。