论文部分内容阅读
随着新型非易失性存储器(Non-Volatile Memory,NVM)技术的飞快发展,这类存储器件在访问性能、写寿命等方面越来越接近内存。存储级内存技术(Storage Class Memory,SCM)是针对采用NVM后大大缩小了内外存之间性能差距的特性,在计算机系统中构建高速的统一存储系统。由于NVM器件集成度和DIMM接口数量的限制,使用DIMM和PCIe接口NVM存储设备是当前构建大容量SCM的有效选择。两类NVM存储设备在物理接口、访问性能和容量上存在差异,同时文件的数据与元数据、文件与文件之间也具有不同的访问特性。现有内外存管理算法均只是针对单一存储设备,无法同时有效管理两类NVM存储设备。本文针对由两类NVM存储设备构建的混合大容量SCM,研究和设计了一种新型的文件系统SCMCFS。首先分析两类NVM存储设备特性和传统文件系统应用到NVM存储设备时存在的问题,在此基础上针对统一管理两类NVM存储设备的要求,设计了面向SCMCFS的结构。接着给出SCMCFS的组织和管理方法,设计头尾式的文件系统空间布局和基于两层radix-tree的存储空间组织方式,构建包含两类NVM存储设备的统一逻辑地址空间和组织管理,避免了存储空间不足的问题;设计融合式文件组织结构、动态存储策略和非对称文件缓冲区调入策略,通过构建文件内缓存,提高了访问响应速度和I/O性能。并且基于Fuse实现了原型系统,使用Postmark进行测试与分析,验证了针对两类NVM存储设备构建文件内缓存,相比使用单一数据组织结构的Ext3能提高30%-63%的I/O性能,同时还避免了DIMM接口NVM存储设备容量的限制。其次设计SCMCFS的一致性机制,保障文件系统提供持续可靠的存储服务;使用DIMM接口NVM存储设备作为日志设备,提高SCMCFS一致性机制的执行效率和灵活性;针对SCM的访问特性,设计混合式一致性策略,根据更新数据量的大小动态调整一致性保障方法,从而实现文件系统的强一致性保证,同时大大减少了保障一致性的时间开销。并且基于PMFS分别实现了三种一致性策略的原型系统,实验结果表明在修改数据量较小的场合,clflush/sfence策略和tornbit RAWL策略相比两次fence策略减少了10%的时间开销,在修改数据量相对较大的场合,两次fence策略则相比另外两个策略分别减少了8%~170%的时间开销,验证了混合式一致性策略的有效性。最后,本文在Linux下实现了SCMCFS的原型,使用Fio、Postmark和Filebench等测试工具,以及多个数据集进行了测试,并与现有文件系统PMFS、PMBD上的Ext2和Ext4进行了对比与分析;实验结果表明SCMCFS性能接近于PMFS;相比PMBD上的Ext2和Ext4,读性能提高了4.4倍和5倍、写性能提高了2.8和1.9倍、IOPS提高了45%和62%;SCMCFS相比Ext4修改每个B的平均一致性额外时间开销减少了60%-90%、总额外时间开销减少了50%-92%。