论文部分内容阅读
新型非易失存储器件(NVRAM)在近些年发展迅速,其具有字节粒度寻址、容量密度大、访问速度快、以及非易失等特性。它的出现将会为现有的存储系统带来革命性的革新,并广泛地影响着上层软件系统。当前对NVRAM的研究工作,在底层硬件层面的研究比较广泛,其相关研究主要集中于克服其硬件缺陷(寿命短、写速度慢等)。而在上层系统软件层面的研究,还有待完善。特别的,在对其进行存储管理的方面,前人的研究过多依赖于文件系统,其软件开销较大。另外,NVRAM的非易失性可以为容错带来新的机遇,前人对这方面的研究也仅仅局限于利用其实现检查点,而没有更创新的容错机制被提出。针对上述问题,本文在系统软件层面基于NVRAM展开研究,研究更加高效的存储管理系统以及容错机制,具体研究如下:1)基于NVRAM的高效存储管理。为了更加高效的管理NVRAM并向上层软件提供直接访问接口,我们研究并提出了基于NVRAM的高效存储管理机制NVMM(non-volatile memory manager)。我们在传统操作系统VMM(virtual memory manager)的基础上,引入了对NVRAM非易失性的管理,实现了对上层应用直接访问NVRAM的轻量级支持。具体来说,我们在支持上层应用动态申请非易失内存区、NVRAM物理页面管理和虚实映射维护、NVRAM数据一致性更新等几个方面展开了研究。最终形成的NVMM系统能够有效支持上层应用访问NVRAM并支持一致性更新。在实验中,我们对比测试了前人提出的利用文件系统管理NVRAM在支持上层应用直接访存上的管理开销。通过压力测试,我们展示了我们的NVMM系统在创建非易失区以及进行物理页面分配和虚实映射管理方面的高效性。通过综合测试,NVMM展现了的较高的综合性能。2)基于NVRAM的高效事务化。为了有效支持上层应用对NVRAM中的数据进行一致性更新,我们研究了非易失数据的数据一致性问题并提出了事务化接口和系统。事务化的编程接口提供了自然的一致性更新的语义。在底层系统的实现中,我们充分利用了NVRAM的硬件特性(字节粒度寻址,读快写慢等),提出了两种对非易失日志进行优化的方法(Write Combined Logging机制和Bit Flip Logging机制),减少了对非易失日志的写入,提升了性能以及NVRAM的使用寿命。3)细粒度访存监控及基于NVRAM的检查点容错。我们研究并提出了灵活的细粒度访存监控机制,其借助硬件提供的分页机制以及硬件虚拟化机制,可以实现小于一个页面粒度的高效的访存监控,并且可以在程序运行的过程中动态改变监控粒度。在其基础上,我们实现了增量式检查点,并通过增量式检查点展示了其细粒度的好处。此细粒度访存监控机制可以有效减少在做增量式检查点时的数据拷贝量,实现更加精确的监控,从而达到提升系统整体容错性能的目的。4)基于NVRAM的新型非易失容错进程模型。我们研究并提出了基于NVRAM的新型容错进程模型。我们首先在底层硬件和上层进程之间引入新的软件中间层,将上层进程和底层硬件解耦合,使我们能够方便的对进程状态进行重新定义和组织,将其全部放入NVRAM中以获得非易失特性。然后,我们引入了版本号的思想。进程的任何一个数据都有一个版本号,任何对其的改动都伴随版本号的改动。通过版本号,我们可以有效的在系统断电后将进程恢复至一个一致性的状态。我们基于scheme语言的解释器展示了该容错进程模型。测试表明,其运行开销低,同时能够实现非常细粒度的容错。