论文部分内容阅读
海量数据的出现,使得存储系统比以往任何时候更加面临挑战。固态硬盘的兴起和应用,缓解了存储系统面临的可靠存储和快速访问的需求,但同时也存在着在可靠性、磨损次数和垃圾回收等方面的很多约束。为了减小固态硬盘约束对存储系统的影响,我们通过感知工作负载的访问特点,开展了如下工作:(1)基于热度感知的固态硬盘写放大优化研究固态硬盘垃圾回收过程中的写放大问题,一定程度上会降低固态硬盘的访问性能和使用寿命,而工作负载的数据访问不均匀性会加剧这种影响,将冷热数据分离存储则可以极大地减少写放大问题。为此,我们首先借助于多个LRU表提出了一种轻量级的热数据识别方法(GLRU),该方法需要较小的内存和计算开销,适用于一般的工作负载:然后我们在固态硬盘仿真工具Disksim+SSD Extension中部署GLRU以实现固态硬盘内部冷热数据的分离存储,并进行了实验验证。实验结果表明对比没有将冷热数据分离存储的做法,我们的做法可以减少固态硬盘做垃圾回收的开销达到73.1%,对比两个已有的最先进的热数据区分方法,我们的做法可以减少固态硬盘做垃圾回收的开销分别达到59.1%和62.1%,减少计算开销达到44.3%和77.5%。(2)基于热度感知的固态硬盘阵列系统写放大优化研究基于固态硬盘的容错阵列系统很好的保证了数据的可靠存储和高效访问,但传统的校验块更新方式并不适用于固态硬盘容错阵列系统。为了减少校验块更新对固态硬盘阵列系统性能的影响,一种不更新原校验块的弹性条带写机制校验块更新方式被引入,但是其需要引入系统级的垃圾回收过程,工作负载中的访问不均匀性会加剧该系统级垃圾回收过程中的写放大。针对于此,我们在采用弹性条带机制校验块更新方式基础上,引入了一种工作负载感知方案。首先,我们使用GLRU方法进行冷热数据的识别,然后我们将识别的不同热度级别的数据分组缓存,当某一缓存组满时,我们将整组缓存数据编码后连续写入到固态硬盘阵列系统中。通过将设计的方案部署到实际系统中进行实验验证,我们得出:相比于未引入冷热数据分离机制的做法,我们的做法可以在RAID5(和RAID6)系统上减少30.0%o-70.6%(和23.9%-63.2%)的写块数,同时减少了60.9-79.3%(和56.8%-80.9%)的平均响应时间,而且很好的实现了阵列系统级的磨损均衡。