论文部分内容阅读
内存计算为当前大数据计算提供了一种新的计算模型,即将所有的数据置于非易失性内存中为了数据计算提供帮助,利用内存高速的计算性能为大规模的计算提供可能。但是数据的存储在传统的内存介质上是掉电易失的,因此诸多内存系统仍然是以磁盘I/O的设计为主,这大大制约了内存计算的性能。非易失性内存是一种读写延迟低,掉电非易失的存储介质,可以替代传统外存,并且与普通内存的寻址方式一样。因此如何设计适应非易失性内存的文件系统成为了当前新的挑战。学术界研发了几种新型的基于非易失性内存的文件系统,这些新的文件系统的优化主要集中在元数据的结构优化,文件数据的存储方式,以及一致性保证的机制,却很少关注目录项访问机制的优化。而传统的目录项机制不能高效的利用非易失性内存的优点,因此如何提高非易失性内存文件系统的目录项访问机制是本文关注的重点。传统的文件系统有两种目录项机制:多级目录树机制和全路径目录机制。这两种机制都是基于磁盘I/O的方式设计实现的,不能利用非易失性内存的特点,多级目录树的机制会引入大量的冗余开销,比如父目录的多次重复访问,元数据与目录项的紧耦合等问题。全路径目录机制则会带来大量重命名开销,尤其是在磁盘文件系统中,这种重命名的开销大大影响了系统的整体性能。本文在综合分析了多级目录树机制和全路径目录机制,提出了一种新的非易失性内存文件系统的目录项访问机制(ADAM)。ADAM优化文件目录项的存储,利用非易失性内存的字节寻址的特性,采用目录空间(AFDN)的方式存储文件的目录项,降低了目录项访问的延迟。在本文的机制中,我们对文件的状态进行感知,提出了一种自适应的迁移策略,动态地调整目录空间的划分,使文件系统在运行中可以适应文件不同状态间的相互变化,降低文件重命名的开销。此外,本文研究了存储系统的索引机制,设计实现了一种混合索引机制,该机制可以高效的利用普通内存(DRAM)和非易失性内存(NVM)的混合架构模式,降低了文件的索引开销,提高了系统的整体性能。最后我们进行了多种实验测试文件的访问,包括目录文件和普通文件的创建和删除等,实验结果显示,ADAM可以大大提高文件系统的访问性能,最高可以降低文件系统43%的文件访问延迟。本文还测试了目录空间的自适应迁移策略的效果,在相同的文件系统和实验条件下,本文所提出的策略可以大大降低系统重命名操作的开销。此外,针对不同延迟的非易失内存,我们进行了多个实验,实验结果显示,本文提出的ADAM机制相比于其他非易失性内存文件系统的目录项机制可以更稳定的适应不同的非易失性内存。