论文部分内容阅读
新兴的非易失存储器(Non-Voliate Memory,NVM)既具有内存的低延迟读写和字节可寻址特性,又具有磁盘的非易失特性,近年来NVM技术的快速发展使得基于NVM文件系统的研究成为热点。当前的这些NVM文件系统为了避免在用户缓冲区、操作系统页面缓存和存储层之间复制数据产生的双重拷贝开销,都绕过了操作系统页面缓存,直接在用户缓冲区和NVM之间复制数据。然而,现有NVM设备(如相变存储器)的一个主要缺点是读写速度不对称,写速度较低,如果对所有文件的I/O操作都采用这样的直接访问方式会导致系统写性能不理想。针对上述问题,利用DRAM作为NVM的数据缓存,采用多线程编程的异步写回策略将DRAM缓存数据写回到NVM中来提升系统的写性能。在多线程的异步写回调度策略的设计中,结合现在处理器的多核特征,根据不同的应用负载中执行写请求的用户线程的数量和处理器的CPU核数来动态调节异步写回线程的运行数量,让文件系统充分利用处理器的CPU资源,进一步提高系统性能,形成基于非易失内存的高性能文件系统HBFS。此外,为了减少多线程之间竞争全局空间锁等共享资源的软件开销,HBFS将NVM空间和DRAM缓存空间划分为多个资源池进行管理,使得多个线程可以在不同的资源池空间上进行并行分配。在提升系统性能的同时,HBFS也提供版本一致的系统一致性保证,通过事务机制来保证文件操作的完整性和原子性,在事务执行过程中对元数据采用细粒度的日志,数据采用写时复制的策略来保证一致性,支持系统任何时刻故障的一致性恢复。经过实验测试,HBFS和当前NVM文件系统相比,I/O吞吐率提高了67%,写性能提高了70%,并通过SQlite验证了HBFS的一致性。