论文学习-NOVA:A log-structured File System for Hybrid Volatile/Non-volatile Main

NOVA是一个为应对NVM(非挥发性内存)带来的挑战而设计的文件系统,旨在最小化软件开销并提供一致性保证。文章讨论了NVM带来的问题,如写重排、原子性需求,以及现有的解决方案如日志记录、影子页和日志结构。NOVA的设计包括在NVM中保存日志、DRAM中保存索引,以提高并发性和效率,同时通过轻量级日志记录和原子性更新机制保证数据一致性。实验表明,NOVA在写密集型工作负载下比现有文件系统性能提升显著。
摘要由CSDN通过智能技术生成

Background

NVM出现,可以与DRAM一同出现在处理器内存总线上,提高带宽以访问持久性数据。DRAM和NVMM的混合存储系统给设计者带来许多机遇和挑战,如果要充分利用NVMM的高性能,并有效支持更灵活的访问模式,系统需要最小化软件开销,同时必须提供引用程序所需的强有力的一致性保证,并尊重新型存储的限制,eg.有限的写入周期

NVMM的出现给设计者带来以下问题:

  1. 针对NVMM的软件设计
  • NVM的低延迟使得需要平衡硬件和软件的开销。传统的慢的存储设备是影响延迟的主要关键,所以软件开销不是关键因素。使用DAX(Direct Access) 可绕过DRAM 的page cache直接访问NVM。
  • 写重排
    为了提高性能,处理器及缓存结构可能会对写进行重排序,CPU的内存一致性协议保证了内存更新的顺序,但不提供更新何时到达NVMs的保证,因此电源故障可能会使数据处于不一致状态。如下图所示。虽然NVM可以通过显式刷新缓存和发出内存屏障来执行写顺序,eg.X86架构下提出clflush和mfence指令,但仍存在开销大、不能保证到达NVM顺序的问题。
    在这里插入图片描述
  • 原子性
    原子性即要么成功,要么失败,不会是两者的组合。许多应用程序以来于原子的文件系统操作去确保正确性,存储设备通常只提供简单的原子操作(eg.扇区写入),为复杂的原子更新,文件系统需要更复杂的技术。
  1. 构建复杂的原子操作
    已经存在的文件系统使用下述方法提供原子保证,但都存在不同类型的开销。
  • 【Journaling】(write-ahead logging) 在应用之前,将所有更新记录到journal中,发生电源故障,重新扫描日志恢复到一致性状态。为提高性能,通常只记录日志元数据。因此,在使用journal的方式下,需要2次写入数据,先写入log,然后写入目标位置。
  • 【Shadow paging】不是写时就地更新,而是将受影响页的副本先写道存储设备空的部分,然后通过更新页和根之间的节点将新页连接到文件系统树中,严重依赖它们的树结构来提供原子性。因此,会产生潜在的级联更新的开销
  • 【Log-structuring】将对内存的随机写入转化为更大的、顺序的磁盘写入,依赖于顺序写入磁盘的连续空闲区域,因而需要不断GC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值