论文部分内容阅读
存储系统作为计算机系统的重要组成部分,一直以来都是影响计算机系统整体性能的重要因素。随着大数据时代的到来,大数据对存储领域带来了新的挑战。随着基于NAND Flash的SSD(Solid State Drives)进入外存储市场,其完全不同于磁盘的新颖特性为存储结构的优化创造了新契机。然而SSD本身的写放大,随机写性能较差,擦除次数有限,以及读干扰以引起的随机更新等问题都会影响SSD的性能和寿命。本文主要研究面向SSD的非易失缓存机制,论文的主要工作和创新点有以下几个方面:首先,本研究提出通过SSD本身的空间来对上层的请求进行缓存的全新的非易失缓存机制,即SCS(SSD caching SSD),从而减少SSD本身的随机小写的延迟,减少读干扰及SSD寿命等问题。其次是提出一种I/O顺序性检测算法。由于顺序的写请求性能会比随机的写请求性能更好,同时也为了减少缓存区的数据写入量,本文通过顺序I/O的感知算法来过滤掉连续的以及大块的请求,从而提高缓存系统的整体效率。提出了一种读请求异步插入策略来达到减少读干扰的发生,同时也会减少不必要的垃圾回收。然后本文设计了一种新的面向缓冲区数据的垃圾回收策略。由于缓冲区缓存了很多的数据。而这些的数据需要在一定的时间内迁移回数据区。但是,直接将缓冲区的数据写回到数据区的话,也会产生大量的随机写,对SSD的写入性能和寿命都会有影响。因此通过提出的缓存策略,使缓存系统中的所有请求都能以顺序的形式进行,从而提高系统的性能。最后是基于linux内核的device mapper(DM)机制,实现一个内核模块,从而完成整体缓存系统的设计与实现。通过DM机制,实现数据的重定向。这种内核模块并不需要对操作系统进行太多的修改,从而有很高的灵活性和很广的适用性。经过实验验证,SCS相对于传统的单盘SSD,随机小写性能提高了5倍左右。同时针对现实中的负载,如Webserver、Filesercer、Mailserver和Database,性能相对于SSD分别提高了63.54%、28.06%、95.14%和69.98%,同时负载的平均响应时间也分别有了明显的减少,分别减少了43.92%、28.17%、70.28%、56.12%。