论文部分内容阅读
随着大数据、云计算时代的来临,I/O密集型应用亟需高性能的存储介质。作为当前主流备份存储介质的机械磁盘,其数据读/写速度已远远落后于CPU对I/O性能的需求。基于NAND闪存构造的固态盘(SSD)是一种新型的非易失存储介质,目前已得到了广泛的研究和应用。然而受硬件成本和可靠性等方面的制约,目前固态盘还不能完全取代机械磁盘作为主流备份存储介质的地位。将固态盘作为机械磁盘的二级缓存(一级缓存为内存),既能充分利用机械盘价格低、容量大的优点,又能充分发挥固态盘在读/写性能的优势,从而弥补了机械磁盘和内存之间存在的I/O性能鸿沟。因此,基于固态盘的混合缓存系统,具有广泛的研究意义和应用价值。当前的混合缓存研究成果并未充分地考虑到固态盘的固有特性,如随机写的性能差、写寿命短、写放大等。因此,如何合理、有效地利用固态盘特性并结合二级缓存的数据访问特点,优化固态盘作为二级缓存的I/O性能和使用寿命是本文研究的重点。本文主要取得了以下三点研究成果: 提出了一种非对称I/O路径的混合缓存系统,简称为MOLAR。相比传统的I/O单路径多级缓存模型,MOLAR根据固态盘的数据读/写特性优化了数据I/O访问的路径。此外,MOLAR主要从两个方面做了改进:(1)提出了一种基于内存驱逐计数(demotion count)的筛选算法,支持固态盘选择性地缓存数据块。如果数据块在固定时间窗口内的demotion count超过(≥)预先设定的阈值,则该数据块缓存至固态盘。通过数学分析和实验验证,该筛选算法能够在不牺牲固态盘缓存命中率的前提下,有效地减少缓存污染和固态盘的写负载压力,从而优化固态盘的写寿命和读/写性能;(2) MOLAR将固态盘逻辑地址(LBA)划分为两个独立的区域,分别为长活跃的数据块区域和短活跃的数据块区域。通过区域分类,将被替换可能性更高的短活跃数据块聚合在相对集中的地址空间,从而有效地减少固态盘垃圾回收导致的写放大值,优化了固态盘的整体I/O性能。为了适应数据访问特征的变化,MOLAR使用一种自适应的控制算法保证两个分类空间的大小均衡。实验仿真结果表明:(1)相比之前两个常用的二级缓存算法,MOLAR提高了1.44%至5.34%的固态盘缓存命中率;(2)相比传统的多级缓存模型,MOLAR降低了至少一个数量级的固态盘写负载压力。因此,固态盘的平均访问延迟和最坏访问延迟分别降低了4.5倍和3.5倍。 为了优化固态盘在云环境下作为共享二级缓存的性能,提出了一种I/O路径可知的混合缓存模型。传统的I/O路径无知的混合缓存模型,不确定二级缓存能否满足数据请求。I/O路径可知的混合缓存模型通过索引技术能够快速地判断数据块请求能否被固态盘满足,从而避免无用的数据路径查询导致的网络高延迟。另一方面,为了提高固态盘的空间利用率,提出了一种新的动态分配缓存空间的策略。首先,虚拟节点在线记录一段时间内影响缓存空间分配的四组特征值:租户的优先级、固态盘的读/写比例、固态盘的每秒读速度以及二级缓存命中率。然后,每个节点根据这四组特征值,得到固态盘空间分配的当前权值。最后,通过使用加权的max-min公平分配算法,每个节点得出所需的固态盘缓存空间。实验结果表明:(1)相比I/O路径无知的混合缓存模型,I/O路径可知的混合缓存模型降低了1至4倍的数据块平均访问延迟;(2)相比静态分配空间的一组策略,该动态分配缓存空间的改进策略提高了10%至20%的固态盘缓存整体命中率。 设计了一种改进型的布隆过滤器,简称为Par-BF,作为应用于I/O路径可知混合缓存模型的索引数据结构。Par-BF是一种支持数据集动态扩展、多线程实现、参数可控的高性能布隆过滤器。Par-BF的设计主要包含三个方面:(1)强制性地支持基于位向量的集合代数运算,如交、并、补等,从而简化索引集合的数据管理;(2)强制性地控制每个子BF链表的假阳性错误率,从而保证索引I/O的性能;(3)合理设置相关初始参数,满足不同I/O应用对索引性能和空间成本的需求。实验结果表明:(1)相比之前两个相关的研究成果:DBF和SBF,Par-BF的I/O吞吐率分别提高了6至10倍和2至4倍;(2)通过空间回收策略,Par-BF节省了至少50%的内存空间。